From: Edward Delaporte Date: Sun, 7 Dec 2025 17:00:07 +0000 (-0600) Subject: Add backup command X-Git-Url: https://apps.delaporte.us/gitweb/dotfiles.git/commitdiff_plain/ffbbd4efd0dded5e76883c872eb5f930a0fb99ee Add backup command --- diff --git a/invoke/luanti-remote/tasks.py b/invoke/luanti-remote/tasks.py index d62171d..c6225e7 100644 --- a/invoke/luanti-remote/tasks.py +++ b/invoke/luanti-remote/tasks.py @@ -1,12 +1,22 @@ from invoke import task import os +from datetime import datetime as dt IP=os.environ.get('LUANTI_IP') USER=os.environ.get('LUANTI_USER') HOME=os.environ.get('LUANTI_HOME') +LOCAL_HOME=os.environ.get('HOME') +TODAY = dt.now().strftime('%Y.%m.%d') +WORLD=f'{HOME}/world' SERVE=f'{HOME}/luanti/bin/luantiserver --gameid minetest --worldname world' +SSH=f'ssh {USER}@{IP}' +SCP=f'scp {USER}@{IP}' +BACKUP_FILE=f'{HOME}/world.{TODAY}.tar' +LOCAL_BACKUPS=f'{LOCAL_HOME}/backup/' + + def browse(c, url): c.run(f"librefox {url}") @@ -15,6 +25,17 @@ def serve(c): print(f"Attempting to connect to {IP}") c.run(f'ssh {USER}@{IP} -C {SERVE}') +@task +def compress(c): + c.run(f'{SSH} -C tar cf {BACKUP_FILE} {WORLD}') + +@task(compress) +def backup(c): + print(f'Backup {BACKUP_FILE} to {LOCAL_BACKUPS}') + c.run(f'{SCP}:{BACKUP_FILE} {LOCAL_BACKUPS}') + c.run(f'ls {LOCAL_BACKUPS} | grep world') + + @task def cli_hint(c): browse(c, 'https://console.kamatera.com/cli')