mylogfile="$logdir/zfs-replicate-all.log"
date=`date`
starttime=`date +%s`
+tmpfile=`tempfile`
# Make sure we aren't already running
SCRIPT_NAME=${0##*/}
for backup_pool in $backup_pools; do
# Import the local backup pool if needed and the option is given to do so, else error out
-tmpfile=`tempfile`
zpool list -H $backup_pool > $tmpfile 2>&1
if [ $? != 0 ]; then
if [[ $import_export_backup_pool == 1 ]]; then
previous_backup_marker=@previous-backup-${backup_pool_guid}
# Sort the filesystems to replicate by the oldest backup first
-tmpfile=`tempfile`
for filesystem in $filesystems_to_replicate; do
if [[ $filesystem =~ ':' ]]; then
dst_pool=${filesystem%%:*}
# Don't export the pool if there is a currently running zfs-scrub operation
ps -ef | grep "zfs-scrub" | grep -q "${backup_pool}" | grep -v grep
if [ $? != 0 ]; then
- zpool export $backup_pool
+ zpool export $backup_pool >> $tmpfile 2>&1
if [ $? != 0 ]; then
sleep 300
- zpool export $backup_pool
+ zpool export $backup_pool >> $tmpfile 2>&1
if [ $? != 0 ]; then
- lsof /$backup_pool/*
- fatal_and_exit "-E- unable to export the local backup pool $backup_pool on $hostname" "$mailto" 0
+ lsof /$backup_pool/* >> $tmpfile 2>&1
+ msgs=`cat $tmpfile`
+ fatal_and_exit "-E- unable to export the local backup pool $backup_pool on $hostname: $msgs" "$mailto" 0
fi
fi
fi
fi
+rm -f $tmpfile
done