SHARE
TWEET
Untitled
a guest
May 23rd, 2016
157
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- #import pdb
- #pdb.set_trace()
- import sqlite3
- import os
- import sys
- import subprocess
- from time import sleep
- from os import system
- from os import popen
- import posix
- import pipes
- import shlex
- ########################
- destssh='user@hostname'
- syncdir='/home/syncdir.sh'
- syncfile='/home/syncfile.sh'
- ########################
- if len(sys.argv)<3:
- print("Please run with atleast two parameters.")
- exit(1)
- sourceDir=sys.argv[-2].rstrip("/") #enables "python seedbox-sync.py /source /destination"
- destDir=sys.argv[-1].rstrip("/") #see above. Unnecessary because it is inserted directly
- # Create the database if it doesn't exist.
- if not os.path.exists("seedbox-sync.sqlite"):
- print("No database found, creating new one...")
- con=sqlite3.connect("seedbox-sync.sqlite")
- con.execute("create table rememberedFiles(filename varchar);")
- else:
- con=sqlite3.connect("seedbox-sync.sqlite")
- def isFileRemembered(filename):
- cur=con.cursor()
- cur.execute("select count(*) from rememberedFiles where filename=?",(filename,))
- r=[row[0] for row in cur.fetchall()][0]
- cur.close()
- return r>0
- def rememberFile(filename):
- con.execute("insert into rememberedFiles values(?)",(filename,))
- con.commit()
- # The main loop.
- while True:
- files=os.listdir(u""+sourceDir) # If you call os.listdir() with a UTF-8 string the result will be an array of UTF-8 strings instead of ASCII. Needed for passing UTF-8 into sqlite3 for filenames with special chara$
- # print("Sleeping for 30 Seconds...")
- sleep(1)
- for file in files:
- if(isFileRemembered(file)):
- # This file has been copied already.
- # print("Skipping file: "+file)
- continue
- # pdb.set_trace()
- # Sync the file.
- print("Syncing new file: "+file)
- if(os.path.isdir(file)):
- system("ssh %(destssh)s 'sh %(syncdir)s %(sourceDir)s/%(file)s %(destDir)s'" % locals())
- else:
- system("ssh %(destssh)s 'sh %(syncfile)s %(sourceDir)s/%(file)s %(destDir)s'" % locals())
- # if p.wait()==0:
- system("exit")
- rememberFile(file)
- print("Synced & remembered: "+file)
- # else:
- # print("Failed to sync: "+file)
- con.close()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.

