diff --git a/backups/rsyncvolumes/remote.py b/backups/rsyncvolumes/remote.py index cb1181c..bd04334 100644 --- a/backups/rsyncvolumes/remote.py +++ b/backups/rsyncvolumes/remote.py @@ -12,7 +12,18 @@ def sync(): REMOTE_USER = environ.get('REMOTE_USER') REMOTE_PASS = environ.get('REMOTE_PASS') print('Remote host %s configured : will sync with it' % REMOTE_HOST) - command = ('sshpass -p %s rsync -av --delete -e ' - '"ssh -p 23 -o StrictHostKeyChecking=no" ' - '%s %s@%s:./backups') % (REMOTE_PASS, DEST, REMOTE_USER, REMOTE_HOST) - Popen(shplit(command)) + paths = [DEST] + SYNC_EXTRA_PATHES = environ.get('SYNC_EXTRA_PATHES', False) + if SYNC_EXTRA_PATHES: + paths += SYNC_EXTRA_PATHES.split(',') + def run(path): + print('Syncing %s...' % path) + _paths = path.split(':') + lpath = _paths[0] + rpath = _paths[1] if len(_paths) > 1 else 'backups' + command = ('sshpass -p %s rsync -av --delete -e ' + '"ssh -p 23 -o StrictHostKeyChecking=no" ' + '%s %s@%s:./%s') % (REMOTE_PASS, lpath, REMOTE_USER, REMOTE_HOST, rpath) + p = Popen(shplit(command)) + p.communicate() + map(run, paths)