remote_backup¶
Use btrfs send/receive to send snapshot to a remote computer.
- snapintime.remote_backup.btrfs_send_receive(local_subvols: list, remote_subvol: str, backup_location: str, remote_location: str, remote_subvol_dir: str)¶
Run command to send/receive btrfs snapshot.
- Parameters
local_subvols – A list of the local subvolumes to choose from.
remote_subvol – The latest subvolume that is present on both the remote and local systems.
backup_location – The folder prefix for teh local_subvol
remote_location – This should be a string like user@computer or user@IPaddress
remote_subvol_dir – This is the directory we will put the backup into on the remote system.
- Returns
A dictionary with the result of the command.
- snapintime.remote_backup.get_local_subvols(local_subvol_dir: str) list ¶
Grab the subvolumes from the local directory.
- Parameters
local_subvol_dir – The directory containing the local subvolumes.
- Returns
A list of all the local subvolumes
- snapintime.remote_backup.get_remote_subvols(remote_location: str, remote_subvol_dir: str) list ¶
Retrieve the remote subvolumes.
This function assumes user has set up ssh keys for paswordless login.
- Parameters
remote_location – This should be a string like user@computer or user@IPaddress
remote_subvol_dir – This is the directory we will search to get the latest subvolume.
- Returns
A list of the remove subvolumes.
- snapintime.remote_backup.iterate_configs(config: dict) list ¶
Iterate over all the subvolumes in the config file, then call btrfs_send_receive if the value of remote is “True”.
- Parameters
config – The config file, parsed by import_config.
- Returns
A list containing return values from btrfs_send_receive
- snapintime.remote_backup.main()¶
- snapintime.remote_backup.match_subvols(local_subvols: list, remote_subvols: list) str ¶
Return the latest remote subvol that also exists on the local system.
- Parameters
local_subvols – A list of the local subvolumes.
remote_subvols – A list of the remote subvolumes.
- Returns
The subvolume.