PySync Redux
Monday, May 28th, 2007After some comments by Patrick, I decided to play around with classes and came up with the latest iteration of my little sync script. I also added a rudimentary log file.
import socket, os
class Server:
""" Server class used for checking and syncing """
def __init__(self, srv):
self.server = srv
def is_up(self, port):
""" Checks for server availability"""
rmtsocket = socket.socket()
rmtsocket.settimeout(0.25)
try:
rmtsocket.connect((self.server, port))
except socket.error:
return 0
else:
return 1
def run_sync():
""" Run Unison to perform the sync """
try:
status = os.system("unison -batch")
except:
print "Error running Unison... ", status
def write_log(entry):
logfile.write(entry + "\n")
logfile = open("pysync.log", "a+")
server = Server("192.168.1.99")
if (server.is_up(22)):
write_log("Server's up, syncing now")
server.run_sync()
else:
write_log("Server is down, no sync performed")
logfile.close()