[IMP]RsyncVolumes : add SYNC_EXTRA_PATHES if needed

Managing multiple extra paths to sync (source and dest folder)
This commit is contained in:
Fabien BOURGEOIS 2021-03-13 18:23:34 +01:00
parent 9529806dea
commit 570c5e7f9e

View File

@ -12,7 +12,18 @@ def sync():
REMOTE_USER = environ.get('REMOTE_USER') REMOTE_USER = environ.get('REMOTE_USER')
REMOTE_PASS = environ.get('REMOTE_PASS') REMOTE_PASS = environ.get('REMOTE_PASS')
print('Remote host %s configured : will sync with it' % REMOTE_HOST) print('Remote host %s configured : will sync with it' % REMOTE_HOST)
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 ' command = ('sshpass -p %s rsync -av --delete -e '
'"ssh -p 23 -o StrictHostKeyChecking=no" ' '"ssh -p 23 -o StrictHostKeyChecking=no" '
'%s %s@%s:./backups') % (REMOTE_PASS, DEST, REMOTE_USER, REMOTE_HOST) '%s %s@%s:./%s') % (REMOTE_PASS, lpath, REMOTE_USER, REMOTE_HOST, rpath)
Popen(shplit(command)) p = Popen(shplit(command))
p.communicate()
map(run, paths)