- when you take regular btrfs-snapshots to a remote system, the
location of the remote "backup_root" is saved as parameter SUBVOLUME
in the constucted snapper-config.
In case you need to make a interactive backup/clone to a different
target, the commandline options need to have priority, thus
overriding the SUBVOLUME default.
- in verbose mode, show the result of the constructed backupdir and backup_root
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- on slow systems, multiple ssh calls in a row might fail without a
suitable timegap. To overcome this, a short sleep doesn't hurt.
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* if ltfs_format does not receive the volume_serial as an argument
extract the serial number part from the tape name
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* be verbose, if requested
* handle return codes for function call
* to re-format an already partitioned tape, its need to be wiped first
* just simply removing data from tape does not free the occupied space
thus, we need to wipe it and format again to get full capacity of
the tape
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* force reformatting for given tape
* wipe() does not make sence, since the used space will not be freed
without a format
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- ltfs_reformat(): tape needs to be unmounted before format call
- ltfs_umount(): be precise, if tapes mountpoint is in use
- parse_params(): improve error handling
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* get_mediapool_name(): extract mediapool for given volume_name
* ltfs_reformat(): wipe given volume_name and remaster for LTFS
* media_change(): update lastwrite date for new volume_name
* mtx_unload(): write only once to ERRFILE
* parse_params(): update for given new functionality, reorder
* prepare options for remote calls (ssh)
* typo updates
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* media_change(): Update RetensionDate for last written Tape in given Pool
new backup-job will use next free tape from this Pool
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* show UTC in in verbose messages of function calls
that is the format of date string in the JSON file
* date_iso_to_seconds: correct date_string
* get_mediapool_retensiondays(): new function
* add_retensiondays(): new function
* get_retensiondays(): new function
* update_mediapool_retensiondays(): new function
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* redirect any output of btrfs send/receive to a PIPE
* on failure, output saved messages to this PIPE
* cleanup PIPE on program termination
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* parse_flags: introduce mode (full | incremental)
so you can force a full snapshot sync
* run_backup: update description of btrfs send '-c' flag vs '-p'
* run_finalize: ignore stderr when killing snapperd
* btrfs send: handle return code 127
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* run_backup(): btrfs send needs valid parent
if last_sync id on target does not match id on source, use a valid
common sync_id
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>