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)