From: Alan J. Pippin Date: Sat, 8 Mar 2008 06:04:56 +0000 (-0700) Subject: I decided to change the name of the example script again. X-Git-Url: http://git.pippins.net/embedvideo/.git/%27%20%20%20%20.%20%24GLOBALS%5B%27phpgw%27%5D-%3Elink%28%27inc/jquery/%24link?a=commitdiff_plain;h=8745c98ce0deffd90e2227d8019c4de3ef5ac7af;p=zfs-nexenta%2F.git I decided to change the name of the example script again. --- diff --git a/zfs-autosnap-all.example b/zfs-autosnap-all.example deleted file mode 100755 index 5892976..0000000 --- a/zfs-autosnap-all.example +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash - -# Author: Alan J. Pippin -# Description: This script is a wrapper script that calls zfs-autosnap -# for each filesystem provided below. - -# Setup some default values -autosnap="/usr/local/etc/bin/zfs-autosnap" -logfile="/var/log/zfs-autosnap.log" -numsnapshots=20 -maxagedays=365 - -# Auto snapshot every zfs filesystem on the system specified below -date >> $logfile - -# Special filesystems -$autosnap storage /storage $numsnapshots 15 -$autosnap tank/usr/videos /usr/videos $numsnapshots 15 - -# Normal filesystems -$autosnap tank / $numsnapshots $maxagedays -$autosnap tank/backup /backup $numsnapshots $maxagedays -$autosnap tank/usr /usr $numsnapshots $maxagedays -$autosnap tank/usr/home /usr/home $numsnapshots $maxagedays -$autosnap tank/usr/local /usr/local $numsnapshots $maxagedays -$autosnap tank/usr/local/etc /usr/local/etc $numsnapshots $maxagedays - diff --git a/zfs-autosnap-wrapper b/zfs-autosnap-wrapper new file mode 100755 index 0000000..5892976 --- /dev/null +++ b/zfs-autosnap-wrapper @@ -0,0 +1,27 @@ +#!/bin/bash + +# Author: Alan J. Pippin +# Description: This script is a wrapper script that calls zfs-autosnap +# for each filesystem provided below. + +# Setup some default values +autosnap="/usr/local/etc/bin/zfs-autosnap" +logfile="/var/log/zfs-autosnap.log" +numsnapshots=20 +maxagedays=365 + +# Auto snapshot every zfs filesystem on the system specified below +date >> $logfile + +# Special filesystems +$autosnap storage /storage $numsnapshots 15 +$autosnap tank/usr/videos /usr/videos $numsnapshots 15 + +# Normal filesystems +$autosnap tank / $numsnapshots $maxagedays +$autosnap tank/backup /backup $numsnapshots $maxagedays +$autosnap tank/usr /usr $numsnapshots $maxagedays +$autosnap tank/usr/home /usr/home $numsnapshots $maxagedays +$autosnap tank/usr/local /usr/local $numsnapshots $maxagedays +$autosnap tank/usr/local/etc /usr/local/etc $numsnapshots $maxagedays + diff --git a/zfs-replicate-all.example b/zfs-replicate-all.example deleted file mode 100755 index 4d7ff14..0000000 --- a/zfs-replicate-all.example +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash - -# Author: Alan J. Pippin -# Description: This script calls zfs-replicate for each filesystem needing -# to be backed up, or replicated, to another ZFS pool. - -# Setup some default values -replicate="/usr/local/etc/bin/zfs-replicate" -logfile_parser="/usr/local/etc/bin/zfs-log-parser" -logfile="/var/log/zfs-replicate.log" -lockdir="/tmp/zfs-admin-lock" -destpool="backups" -maxsleeptime=60 -released_lock_date=0 - -# Setup our cleanup and exit trap -cleanup() { - rm -rf "$lockdir" - if [ $released_lock_date == 0 ]; then - echo `date` ZFS admin lock released >> $logfile - fi -} -trap cleanup EXIT - -# Auto snapshot every zfs filesystem on the system specified below -date=`date`; -echo "$date Polling for ZFS admin lock" >> $logfile - -# Poll for a lock on the zfs subsystem, and make the lock once we can do so -while true; do - if ! mkdir "$lockdir" >/dev/null 2>&1; then - # Another zfs admin tool is running. - # Wait a random amount of time and try again - ransleep=$(($RANDOM % $maxsleeptime)) - sleep $ransleep - else - # No other zfs admin tool is running, we can now. - break - fi -done -date=`date`; -echo "$date ZFS admin lock obtained" >> $logfile - -# List the filesystems to replicate -# The parent filesystems MUST be listed ahead -# of the children filesystems. -# Pool root filesystems must end with a slash. -$replicate tank/ $destpool -$replicate tank/usr $destpool -$replicate tank/usr/home $destpool -$replicate tank/usr/videos $destpool -$replicate tank/usr/local $destpool -$replicate tank/usr/local/etc $destpool -$replicate tank/backup $destpool - -# Release our lock -released_lock_date=1 -echo `date` ZFS admin lock released >> $logfile - -# Parse the log file and extract our backup stats -$logfile_parser "$logfile" "$date" >> $logfile diff --git a/zfs-replicate-wrapper b/zfs-replicate-wrapper new file mode 100755 index 0000000..4d7ff14 --- /dev/null +++ b/zfs-replicate-wrapper @@ -0,0 +1,61 @@ +#!/bin/bash + +# Author: Alan J. Pippin +# Description: This script calls zfs-replicate for each filesystem needing +# to be backed up, or replicated, to another ZFS pool. + +# Setup some default values +replicate="/usr/local/etc/bin/zfs-replicate" +logfile_parser="/usr/local/etc/bin/zfs-log-parser" +logfile="/var/log/zfs-replicate.log" +lockdir="/tmp/zfs-admin-lock" +destpool="backups" +maxsleeptime=60 +released_lock_date=0 + +# Setup our cleanup and exit trap +cleanup() { + rm -rf "$lockdir" + if [ $released_lock_date == 0 ]; then + echo `date` ZFS admin lock released >> $logfile + fi +} +trap cleanup EXIT + +# Auto snapshot every zfs filesystem on the system specified below +date=`date`; +echo "$date Polling for ZFS admin lock" >> $logfile + +# Poll for a lock on the zfs subsystem, and make the lock once we can do so +while true; do + if ! mkdir "$lockdir" >/dev/null 2>&1; then + # Another zfs admin tool is running. + # Wait a random amount of time and try again + ransleep=$(($RANDOM % $maxsleeptime)) + sleep $ransleep + else + # No other zfs admin tool is running, we can now. + break + fi +done +date=`date`; +echo "$date ZFS admin lock obtained" >> $logfile + +# List the filesystems to replicate +# The parent filesystems MUST be listed ahead +# of the children filesystems. +# Pool root filesystems must end with a slash. +$replicate tank/ $destpool +$replicate tank/usr $destpool +$replicate tank/usr/home $destpool +$replicate tank/usr/videos $destpool +$replicate tank/usr/local $destpool +$replicate tank/usr/local/etc $destpool +$replicate tank/backup $destpool + +# Release our lock +released_lock_date=1 +echo `date` ZFS admin lock released >> $logfile + +# Parse the log file and extract our backup stats +$logfile_parser "$logfile" "$date" >> $logfile