From 33e5ed418604c123437ad7291922ebdb6309d838 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Tue, 25 May 2021 23:29:48 -0500 Subject: [PATCH] Started on remote commands to make and transfer backups --- openwrt_backup/retrieve.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 openwrt_backup/retrieve.py diff --git a/openwrt_backup/retrieve.py b/openwrt_backup/retrieve.py new file mode 100644 index 0000000..c6c7185 --- /dev/null +++ b/openwrt_backup/retrieve.py @@ -0,0 +1,19 @@ +from pathlib import Path + +from paramiko.client import SSHClient + +from utils import exec_remote + + +def make_backup_on_remote(client: SSHClient, tmp_path: Path): + cmdline = ["sysupgrade", "-b"] + remote_dest = tmp_path / "backup_latest.tar.gz" + cmdline.append(remote_dest) + exec_remote(cmdline) + return remote_dest + + +def retrieve_backup_on_remote(client: SSHClient, src: Path, dest: Path): + sftp_client = client.open_sftp() + sftp_client.get(src, dest) + sftp_client.remove(src)