@@ -62,6 +62,7 @@ DEBUG="" # set to non-null to enable debug (dry-run)
62
62
VERBOSE=" " # "-v" for verbose, null string for quiet
63
63
LOCK=" /var/tmp/zfsbackup.lock"
64
64
CFG=" /var/lib/zfssnap/zfs-backup.cfg"
65
+ ZFS=" /usr/sbin/zfs"
65
66
66
67
# local settings -- datasets to back up are now found by property
67
68
TAG=" zfs-auto-snap_daily"
@@ -70,6 +71,7 @@ PROP="edu.tamu:backuptarget"
70
71
REMUSER=" zfsbak"
71
72
REMHOST=" backupserver.my.domain"
72
73
REMPOOL=" backuppool"
74
+ REMZFS=" /usr/sbin/zfs"
73
75
74
76
75
77
usage () {
@@ -151,17 +153,17 @@ do_backup() {
151
153
fi
152
154
153
155
if [ $RECENT -gt 1 ]; then
154
- newest_local=" $( /usr/sbin/zfs list -t snapshot -H -S creation -o name -d 1 $DATASET | grep $TAG | awk NR==$RECENT ) "
156
+ newest_local=" $( $ZFS list -t snapshot -H -S creation -o name -d 1 $DATASET | grep $TAG | awk NR==$RECENT ) "
155
157
msg=" using local snapshot ($( ord $RECENT ) most recent):"
156
158
else
157
- newest_local=" $( /usr/sbin/zfs list -t snapshot -H -S creation -o name -d 1 $DATASET | grep $TAG | head -1) "
159
+ newest_local=" $( $ZFS list -t snapshot -H -S creation -o name -d 1 $DATASET | grep $TAG | head -1) "
158
160
msg=" newest local snapshot:"
159
161
fi
160
162
snap2=${newest_local#*@ }
161
163
[ " $DEBUG " -o " $VERBOSE " ] && echo " $msg $snap2 "
162
164
163
165
# needs public key auth configured beforehand
164
- newest_remote=" $( ssh -n $REMUSER @$REMHOST /usr/sbin/zfs list -t snapshot -H -S creation -o name -d 1 $TARGET | grep $TAG | head -1) "
166
+ newest_remote=" $( ssh -n $REMUSER @$REMHOST $REMZFS list -t snapshot -H -S creation -o name -d 1 $TARGET | grep $TAG | head -1) "
165
167
if [ -z $newest_remote ]; then
166
168
echo " Error fetching remote snapshot listing via ssh to $REMUSER @$REMHOST ." >&2
167
169
[ $DEBUG ] || touch $LOCK
@@ -170,7 +172,7 @@ do_backup() {
170
172
snap1=${newest_remote#*@ }
171
173
[ " $DEBUG " -o " $VERBOSE " ] && echo " newest remote snapshot: $snap1 "
172
174
173
- if ! /usr/sbin/zfs list -t snapshot -H $DATASET @$snap1 > /dev/null 2>&1 ; then
175
+ if ! $ZFS list -t snapshot -H $DATASET @$snap1 > /dev/null 2>&1 ; then
174
176
exec 1>&2
175
177
echo " Newest remote snapshot '$snap1 ' does not exist locally!"
176
178
echo " Perhaps it has been already rotated out."
@@ -181,7 +183,7 @@ do_backup() {
181
183
[ $DEBUG ] || touch $LOCK
182
184
return 1
183
185
fi
184
- if ! /usr/sbin/zfs list -t snapshot -H $DATASET @$snap2 > /dev/null 2>&1 ; then
186
+ if ! $ZFS list -t snapshot -H $DATASET @$snap2 > /dev/null 2>&1 ; then
185
187
exec 1>&2
186
188
echo " Something has gone horribly wrong -- local snapshot $snap2 "
187
189
echo " has suddenly disappeared!"
@@ -195,20 +197,20 @@ do_backup() {
195
197
fi
196
198
197
199
# sanity checking of snapshot times -- avoid going too far back with -r
198
- snap1time=$( /usr/sbin/zfs get -Hp -o value creation $DATASET @$snap1 )
199
- snap2time=$( /usr/sbin/zfs get -Hp -o value creation $DATASET @$snap2 )
200
+ snap1time=$( $ZFS get -Hp -o value creation $DATASET @$snap1 )
201
+ snap2time=$( $ZFS get -Hp -o value creation $DATASET @$snap2 )
200
202
if [ $snap2time -lt $snap1time ]; then
201
203
echo " Error: target snapshot $snap2 is older than $snap1 !"
202
204
echo " Did you go too far back with '-r'?"
203
205
return 1
204
206
fi
205
207
206
208
if [ $DEBUG ]; then
207
- echo " would run: /usr/sbin/zfs send -R -I $snap1 $DATASET @$snap2 |"
208
- echo " ssh $REMUSER @$REMHOST /usr/sbin/zfs recv $RECV_OPT -vF $REMPOOL "
209
+ echo " would run: $ZFS send -R -I $snap1 $DATASET @$snap2 |"
210
+ echo " ssh $REMUSER @$REMHOST $REMZFS recv $RECV_OPT -vF $REMPOOL "
209
211
else
210
- if ! pfexec /usr/sbin/zfs send -R -I $snap1 $DATASET @$snap2 | \
211
- ssh $REMUSER @$REMHOST /usr/sbin/zfs recv $VERBOSE $RECV_OPT -F $REMPOOL ; then
212
+ if ! pfexec $ZFS send -R -I $snap1 $DATASET @$snap2 | \
213
+ ssh $REMUSER @$REMHOST $REMZFS recv $VERBOSE $RECV_OPT -F $REMPOOL ; then
212
214
echo 1>&2 " Error sending snapshot."
213
215
touch $LOCK
214
216
return 1
237
239
238
240
FAIL=0
239
241
# get the datasets that have our backup property set
240
- COUNT=$( /usr/sbin/zfs get -s local -H -o name,value $PROP | wc -l)
242
+ COUNT=$( $ZFS get -s local -H -o name,value $PROP | wc -l)
241
243
if [ $COUNT -lt 1 ]; then
242
244
echo " No datasets configured for backup! Please set the '$PROP ' property"
243
245
echo " appropriately on the datasets you wish to back up."
244
246
exit 2
245
247
fi
246
- /usr/sbin/zfs get -s local -H -o name,value $PROP |
248
+ $ZFS get -s local -H -o name,value $PROP |
247
249
while read dataset value
248
250
do
249
251
case $value in
0 commit comments