projects
/
zfs-ubuntu
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix mountpoint after full fs transfer if needed
[zfs-ubuntu/.git]
/
zfs-replicate-all
diff --git
a/zfs-replicate-all
b/zfs-replicate-all
index 5d606bf85c0eeee8743fbc8dd60ee17d275ec511..54f96eb97b042072217d00dea8573b45f4171581 100755
(executable)
--- a/
zfs-replicate-all
+++ b/
zfs-replicate-all
@@
-14,11
+14,12
@@
logfile="$logdir/zfs-replicate.log"
mylogfile="$logdir/zfs-replicate-all.log"
date=`date`
starttime=`date +%s`
mylogfile="$logdir/zfs-replicate-all.log"
date=`date`
starttime=`date +%s`
+tmpfile=`mktemp`
# Make sure we aren't already running
SCRIPT_NAME=${0##*/}
# Make sure we aren't already running
SCRIPT_NAME=${0##*/}
-PROCESS_LIST=`
tempfile
`
-ps -ef | grep -e "$SCRIPT_NAME" | grep -v grep | grep -v $$ | grep -v $PPID >> $PROCESS_LIST
+PROCESS_LIST=`
mktemp
`
+ps -ef | grep -e "$SCRIPT_NAME" | grep -v grep | grep -v
tail | grep -v less | grep -v
$$ | grep -v $PPID >> $PROCESS_LIST
if [[ $? == 0 ]]; then
echo "$date Another $SCRIPT_NAME process is already running" >> $mylogfile
cat $PROCESS_LIST >> $mylogfile
if [[ $? == 0 ]]; then
echo "$date Another $SCRIPT_NAME process is already running" >> $mylogfile
cat $PROCESS_LIST >> $mylogfile
@@
-97,17
+98,20
@@
backup_pools=$backup_pool
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
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
-zpool list -H $backup_pool >
/dev/null
2>&1
+zpool list -H $backup_pool >
$tmpfile
2>&1
if [ $? != 0 ]; then
if [[ $import_export_backup_pool == 1 ]]; then
if [ $? != 0 ]; then
if [[ $import_export_backup_pool == 1 ]]; then
- zpool import
$backup_pool
+ zpool import
-f $backup_pool >> $tmpfile 2>&1
if [ $? != 0 ]; then
if [ $? != 0 ]; then
- fatal_and_exit "-E- unable to import the backup pool '$backup_pool' on $hostname" "$mailto"
+ msgs=`cat $tmpfile`
+ fatal_and_exit "-E- unable to import the backup pool '$backup_pool' on $hostname: $msgs" "$mailto"
fi
else
fi
else
- fatal_and_exit "-E- The local backup pool on $hostname, '$backup_pool' doesn't seem to exist." "$mailto"
+ msgs=`cat $tmpfile`
+ fatal_and_exit "-E- The local backup pool on $hostname, '$backup_pool' doesn't seem to exist: $msgs" "$mailto"
fi
fi
fi
fi
+rm -f $tmpfile
# Obtain the zpool guid for the local backup pool
backup_pool_guid=`zpool get guid $backup_pool 2>&1 | grep $backup_pool | awk '{ print $3 }'`
# Obtain the zpool guid for the local backup pool
backup_pool_guid=`zpool get guid $backup_pool 2>&1 | grep $backup_pool | awk '{ print $3 }'`
@@
-121,7
+125,6
@@
current_backup_marker=@current-backup-${backup_pool_guid}
previous_backup_marker=@previous-backup-${backup_pool_guid}
# Sort the filesystems to replicate by the oldest backup first
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%%:*}
for filesystem in $filesystems_to_replicate; do
if [[ $filesystem =~ ':' ]]; then
dst_pool=${filesystem%%:*}
@@
-149,17
+152,19
@@
if [[ $import_export_backup_pool == 1 ]]; then
# 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
# 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
if [ $? != 0 ]; then
sleep 300
- zpool export $backup_pool
+ zpool export $backup_pool
>> $tmpfile 2>&1
if [ $? != 0 ]; then
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
fi
fi
fi
fi
+rm -f $tmpfile
done
done