- 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>
* tape-admin: Howto use a media change service/timer
it will update retension dates for the last written tape
in the given pool
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>
* minor version bump to 0.5.9.4
* use XDG_RUNTIME_DIR for temp files
* use pseudo array for selected_configs
* update run_backups()
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* use snapper_sync_id as global variable
* introduce snapper_backup_type
* introduce btrfs streams to be saved on no btrfs filesystems
use stream files to holding the data
* get_archive_last_sync_id()
* check common snapper sync id's in source and target
* typo cleanup
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* snapper_backup_type (btrfs-snapshot | btrfs-clone | btrfs-archive)
* refine a general target media (disk or LTOFS tape)
* refine a general backup directroy (on disk or on LTOFS tape)
* introduce selectable mediapool
* introduce selectable volumename
* introduce get_tape_infos()
* introduce select_target()
this obsoletes select_disk_target()
* rename get_snapper_config_type() to get_snapper_backup_type()
* incorporate tape-admin wrapper
* run_backup(): adapt btrfs send to just save the stream to a file on tape
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
* check_prerequisites(): test for needed helper programs
* get_mediapool_names(): introduce new function
* get-lastwrite(): introduce new function
* get_poolmember_next(): handle selection of next tape
* mount(): handle ltfs and mtx calls in a correct order
* mount_tape(): check that mounted tape is member of selected mediapool
* ltfs_label(): use mkltfs to format and partitionin a given tape
* update_lastwrite()
* update_retensiondate()
* date_iso_to_seconds(): parse and format date-string
* date_seconds_to_iso(): parse and format date-string
* date_string_to_iso(): parse and format date-string
* typo cleanups
* update sample MediaPools.json file
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- tape_admin: helper script to handle common tape handling routines
- mtx: is used for media-changer functions
- json: define media-pools, corresponding volume-names and attributes
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>