# It also employs an intelligent algorithm to roll off,
# or destroy, old snapshots.
-PATH=/usr/sbin:/sbin:$PATH
+# source our configuration
+config="${0%/*}/zfs-scripts.conf"
+[ -e "${config}.dist" ] && . ${config}.dist
+[ -e "${config}" ] && . ${config}
-if [ -z "$SNAP_UNDER_TEST" ]; then
- exec >> /var/log/zfs/zfs-autosnap.log 2>&1
+if [[ -z "$SNAP_UNDER_TEST" ]]; then
+ exec >> $logdir/zfs-autosnap.log 2>&1
fi
# This script makes the following assumptions/requirements:
mountpoint=${2-/$1}
numsnapshots=${3-12}
maxagedays=${4-0}
-lockdir="/tmp/zfs-admin-lock"
pool=`echo "$filesystem" | awk -F '/' '{ print $1 }'`
if [ -z "$filesystem" ] || [ -z "$mountpoint" ] || [ -z "$numsnapshots" ] || [ -z "$maxagedays" ]; then
# Check to see if this zfs filesystem has a scrub being performed on it now.
# If it does, we cannot perform any snapshot create or destroy operations.
if [ -z "$SNAP_UNDER_TEST" ]; then
- zpool status $pool | grep scrub: | grep "in progress" > /dev/null 2>&1
+ zpool status $pool | grep scan: | grep "in progress" > /dev/null 2>&1
if [ $? == 0 ]; then
echo "-W- The zfs pool '$pool' is currently being scrubbed. Skipping all snapshot operations."
exit 0