Added new option to expect empty remote lists when backing up to a new disk
authorAlan J. Pippin <alan@pippins.net>
Mon, 1 Feb 2021 01:44:04 +0000 (18:44 -0700)
committerAlan J. Pippin <ajp@pippins.net>
Mon, 1 Feb 2021 01:44:04 +0000 (18:44 -0700)
Change-Id: I77f3f0323f876adbb3e46640dc3acee9e3b43146

zfs-replicate
zfs-scripts.conf.dist

index 7f205e2ea87698e02d1acb0d9ecc330b0e5ac889..a5a3ad9653787db0fcd5798e5fccddc60c7082fc 100755 (executable)
@@ -170,7 +170,7 @@ $zfs list -H -t snapshot |
     grep ^${backup_pool}/${remote_fs}@ |
     grep -v ^${backup_pool}/${current_backup_marker} | 
     awk "{gsub(/^$backup_pool./,\"\",\$1); print\$1}" > $local_list
-if [ $? != 0 ]; then
+if [[ $? != 0 ]] && [[ $expect_empty_remote_list == 0 ]]; then
   fatal_and_exit "-E- local $zfs list on $hostname command failed" $mailto
 fi
 
index 894f7839e02152798997cb121b59b82db4cf2664..e4f36512bf256eb8a0f3d4392f90f3bcbe5b071e 100644 (file)
@@ -38,6 +38,11 @@ backup_pool=
 # import backup pool before replication and export backup pool after replication
 import_export_backup_pool=0
 
+# expect empty remote list 
+# - set to 1 if backing up any new filesystems for the first time
+# - set to 0 if not backing up new filesystems for the first time (to prevent dropping the entire filesystem if the remote list command fails)
+expect_empty_remote_list=0
+
 # when this variable is set, local filesystems will be destroyed
 # before receiving a full streams into them from the remote source.
 # if it needs to do this, and this option is set to 0, it aborts.