From a3ab6ec5097ec2e77db278e457196111053bad25 Mon Sep 17 00:00:00 2001 From: Edward Delaporte Date: Tue, 21 Jul 2026 17:08:57 -0500 Subject: [PATCH 1/1] Add remote backup tool --- invoke/backup/tasks.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 invoke/backup/tasks.py diff --git a/invoke/backup/tasks.py b/invoke/backup/tasks.py new file mode 100644 index 0000000..8f91c46 --- /dev/null +++ b/invoke/backup/tasks.py @@ -0,0 +1,27 @@ +''' +Typical use: + + invoke backup (host) ~/backup + invoke show-backup (host) +''' +import os +from invoke import task + + +# TODAY = dt.now().strftime('%Y.%m.%d') +HOME=os.path.expanduser('~') +BACKUP_TO=f'{HOME}/backup' + +@task +def backup(c, host, path): + os.path + TMP_TAR=f'/tmp/backup.{host}.tar' + c.run(f'ssh {host} -C tar cf {TMP_TAR} {path}') + c.run(f'scp {host}:{TMP_TAR} {BACKUP_TO}') + +@task +def show_backup(c, host): + c.run(f'ls {BACKUP_TO} | grep {host}') + c.run(f'tar tvf {BACKUP_TO}/backup.{host}.tar | tail') + c.run(f'tar tvf {BACKUP_TO}/backup.{host}.tar | wc') + -- 2.47.3