snap-sync: itroduce parameter for snap-sync template
- when creating a snapper structure on target system use the defined snap-sync template (default search-path /etc/snapper/config-templates) Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
@@ -59,6 +59,7 @@ selected_uuid='none'
|
|||||||
selected_target='none'
|
selected_target='none'
|
||||||
selected_subvol='none'
|
selected_subvol='none'
|
||||||
snapper_snapshots=".snapshots" # hardcoded in snapper
|
snapper_snapshots=".snapshots" # hardcoded in snapper
|
||||||
|
snapper_snapsync_template="snap-sync"
|
||||||
|
|
||||||
###
|
###
|
||||||
# functions
|
# functions
|
||||||
@@ -217,7 +218,7 @@ get_answer_yes_no () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get_config(){
|
get_config(){
|
||||||
local config=${1:-/etc/snapper/config-templates/snap-sync}
|
local config=${1:-/etc/snapper/config-templates/"$snapper_snapsync_template"}
|
||||||
local config_key=${2:-SUBVOLUME}
|
local config_key=${2:-SUBVOLUME}
|
||||||
|
|
||||||
# IFS="="
|
# IFS="="
|
||||||
@@ -993,7 +994,7 @@ select_target_disk () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
set_config(){
|
set_config(){
|
||||||
local config=${1:-/etc/snapper/config-templates/snap-sync}
|
local config=${1:-/etc/snapper/config-templates/"$snapper_snapsync_template"}
|
||||||
local config_key=${2:-SUBVOLUME}
|
local config_key=${2:-SUBVOLUME}
|
||||||
local config_value=${3:-/var/lib/snap-sync}
|
local config_value=${3:-/var/lib/snap-sync}
|
||||||
|
|
||||||
@@ -1074,22 +1075,22 @@ verify_snapper_structure () {
|
|||||||
# verify that we have a snapper compatible structure for selected config on target
|
# verify that we have a snapper compatible structure for selected config on target
|
||||||
if $ssh [ ! -d $backup_root/$snapper_config ]; then
|
if $ssh [ ! -d $backup_root/$snapper_config ]; then
|
||||||
if $ssh [ ! -f $SNAPPER_TEMPLATES/snap-sync ]; then
|
if $ssh [ ! -f $SNAPPER_TEMPLATES/snap-sync ]; then
|
||||||
printf "A snapper template %s to configure the snapper subvolume %s is missing in %s.\n" "snap-sync" "$snapper_config" "$SNAPPER_TEMPLATES"
|
printf "A snapper template %s to configure the snapper subvolume %s is missing in %s on %s.\n" "$snapper_snapsync_template" "$snapper_config" "$SNAPPER_TEMPLATES" "$remote_host"
|
||||||
printf "Did you miss to install the snap-sync's default snapper template?\n"
|
printf "Did you miss to install the snap-sync's default snapper template on %s?\n" "$remote"
|
||||||
die "snapper template %s to configure the snapper subvolume %s is missing in %s.\n" "snap-sync" "$snapper_config" "$SNAPPER_TEMPLATES"
|
die "snapper template %s to configure the snapper subvolume %s is missing in %s on %s.\n" "$snapper_snapsync_template" "$snapper_config" "$SNAPPER_TEMPLATES" "$remote_host"
|
||||||
fi
|
fi
|
||||||
if [ ! "$dryrun" ]; then
|
if [ ! "$dryrun" ]; then
|
||||||
if [ "$verbose" ]; then
|
if [ "$verbose" ]; then
|
||||||
printf "Create new snapper capable subvolume in '%s' ...\n" "$backup_root/$snapper_config"
|
printf "Create new snapper capable subvolume in '%s:%s' ...\n" "$remote_host" "$backup_root/$snapper_config"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# notify if SUBVOLUME has changed
|
# notify if SUBVOLUME has changed
|
||||||
create_config="btrfs subvolume create $backup_root/$snapper_config"
|
create_config="btrfs subvolume create $backup_root/$snapper_config"
|
||||||
$ssh $create_config || die "Snapper structure for config %s to hold target snapshots could not be created in directory on %s.\n" "$snapper_config" "$backup_root"
|
$ssh $create_config || die "Snapper structure for config %s to hold target snapshots could not be created in directory on %s on %s.\n" "$snapper_config" "$backup_root" "$remote_host"
|
||||||
|
|
||||||
if $ssh [ ! -f /etc/snapper/configs/$snapper_config ]; then
|
if $ssh [ ! -f /etc/snapper/configs/$snapper_config ]; then
|
||||||
# snapper-logic will create $backup_root/$snapper_config/.snapshots
|
# snapper-logic will create $backup_root/$snapper_config/.snapshots
|
||||||
$ssh snapper --config $snapper_config create-config --template snap-sync $backup_root/$snapper_config
|
$ssh snapper create-config $snapper-config --template $snapper_snapsync_template $backup_root/$snapper_config
|
||||||
else
|
else
|
||||||
# if changed, adapt targets SUBVOLUME in given config
|
# if changed, adapt targets SUBVOLUME in given config
|
||||||
#get_config "/etc/snapper/configs/$snapper_config" "SUBVOLUME"
|
#get_config "/etc/snapper/configs/$snapper_config" "SUBVOLUME"
|
||||||
@@ -1102,13 +1103,22 @@ verify_snapper_structure () {
|
|||||||
fi
|
fi
|
||||||
$ssh chmod 0700 $backup_root/$snapper_config
|
$ssh chmod 0700 $backup_root/$snapper_config
|
||||||
sync
|
sync
|
||||||
|
if $ssh [ ! -d $backup_root/$snapper_subvol ]; then
|
||||||
|
create_subvol="btrfs subvolume create $backup_root/$snapper_subvol"
|
||||||
|
if $ssh [ $create_subvol ]; then
|
||||||
|
if [ $verbose ]; then
|
||||||
|
printf "Created BTRFS subvolume %s.\n" "$backup_root/$snapper_subvol"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
die "Create BTRFS subvolume to hold snapshots on remote failed."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
$ssh snapper --config $snapper_subvol create-config --template $snapper_snapsync_template $backup_root/$snapper_subvol
|
||||||
|
$ssh chmod 0700 $backup_root/$snapper_subvol
|
||||||
else
|
else
|
||||||
printf "dryrun: Would create new snapper structure in '%s' ...\n" "$backup_root/$snapper_config"
|
printf "dryrun: Would create new snapper structure in '%s:%s' ...\n" "$backup_root/$snapper_config"
|
||||||
|
printf "dryrun: Would create new snapper configuration from template %s ...\n" "$snapper_snapsync_template"
|
||||||
fi
|
fi
|
||||||
create_subvol="btrfs subvolume create $backup_root/$snapper_subvol"
|
|
||||||
$ssh $create_subvol || die "BTRFS subvolume %s to hold snapshots for config %s could not be created in directory on %s.\n" "$snapper_subvol" "$snapper_config" "$backup_root"
|
|
||||||
$ssh snapper --config $snapper_subvol create-config --template snap-sync $backup_root/$snapper_subvol
|
|
||||||
$ssh chmod 0700 $backup_root/$snapper_subvol
|
|
||||||
else
|
else
|
||||||
cmd="$ssh stat --format=%i $backup_root/$snapper_config"
|
cmd="$ssh stat --format=%i $backup_root/$snapper_config"
|
||||||
if [ $(eval $cmd) -ne 256 ]; then
|
if [ $(eval $cmd) -ne 256 ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user