public:radio:2024:yaddnet_data_backup
This is an old revision of the document!
Table of Contents
Yaddnet Data Backup
Offsite Text file backups of all DSC messages
YaDDNet UDP Mirror
def send_to_mirror(data): log_data = "[log];"+data port = 2505 host = "aaa.bbb.ccc.ddd.eee" host2 = "fff.ggg.hhh.iii" sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.sendto(log_data, (host, port)) sock.sendto(log_data, (host2, port)) return
Backup UDP receive and logrotate
#!/usr/bin/env python import SocketServer import socket import threading import re import time class ThreadedUDPRequestHandler(SocketServer.BaseRequestHandler): def handle(self): data = self.request[0].strip() socket = self.request[1] self.write_file(data) def write_file(self,text): filename = '/home/gm4slv/yaddlogs/yaddnet_udp_log.txt' f = open(filename, 'a+') log = text f.write(log+"\n") f.close() return class ThreadedUDPServer(SocketServer.ThreadingMixIn, SocketServer.UDPServer): pass if __name__ == "__main__": HOST, PORT = "", 2505 server = ThreadedUDPServer((HOST, PORT), ThreadedUDPRequestHandler) ip, port = server.server_address server.serve_forever() # Start a thread with the server -- # that thread will then start one # more thread for each request server_thread = threading.Thread(target=server.serve_forever) # Exit the server thread when the main thread terminates server_thread.daemon = True server_thread.start() server.shutdown()
— John Pumford-Green 19/04/24 09:31 BST
Further Information
public/radio/2024/yaddnet_data_backup.1713516139.txt.gz · Last modified: 06/03/25 06:49 GMT (external edit)