John's Vademecum

Try to learn something about everything, and everything about something -Thomas Huxley “Darwin's bulldog” (1824-1895)

User Tools

Site Tools


public:radio:2024:yaddnet_data_backup

This is an old revision of the document!


2024 Radio Topics

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 PyYadd
#import pysql
import time
 
 
 
 
class ThreadedUDPRequestHandler(SocketServer.BaseRequestHandler):
 
 
    def handle(self):
        data = self.request[0].strip()
        socket = self.request[1]
 
        self.write_file(data)
        #pysql.load_logger("UDP", "%s : %s" % (data.split(";")[0][1:-1], self.client_address[0]))
 
 
    def write_file(self,text):
        filename = '/home/gm4slv/yaddlogs/yaddnet_udp_log.txt'
        f = open(filename, 'a+')
        #timenow = time.strftime("%d/%m/%Y %H:%M:%S", time.gmtime(time.time()))
        log = text
        #log = " ".join((timenow, text))
        #print log
        f.write(log+"\n")
        f.close()
        return
 
 
 
 
class ThreadedUDPServer(SocketServer.ThreadingMixIn, SocketServer.UDPServer):
    pass
 
if __name__ == "__main__":
    #pysql.load_logger("yUDPSERV", "Starting YaDD UDP interface....")
    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.1713516034.txt.gz · Last modified: 06/03/25 06:49 GMT (external edit)