[debian-lan-devel] Dirvish usb backup
Julien Lambot
jlambot at gmail.com
Mon May 6 10:58:45 UTC 2013
FYI:
- script works fine but with two issues:
-- udev timeout kills it. I will prepare a first script for the mount and a
second for dirvish.
-- umount doesn't behave well, disk remain mounted and need manual umount
in order for the script to be triggered when usb-hdd is plugged again.
And well, necessary cleanup of the whole script.
Greetings all
On Sun, May 5, 2013 at 1:48 AM, Julien Lambot <jlambot at gmail.com> wrote:
> I don't think it will be easy to automate the setup because it's highly
> dependent on the external hdd's hardware, so, as Andi suggested, this might
> better fit within the wiki.
> It's a beta version. I still have to check the retention policy, improve
> the backup script error management and monitoring
>
> - /etc/udev/rules.d/50-usb-backup
> (inspired by http://bernaerts.dyndns.org/linux/54-debian-udev-backup)
> KERNEL=="sd?1", ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="your
> hardware ", ATTRS{model}=="your model ",
> RUN+="/usr/local/bin/dirvish-usb %k"
>
> Your hardware and your model must be replaced by values collected through:
> udevadm info --name=/dev/sdX --attribute-walk | grep
> "ATTRS{vendor}\|ATTRS{model}"
>
> - plugging in the external hdd will trigger the script beneath RUN+
> /usr/local/bin/dirvish-usb with the device as argument
> Based on the default /etc/dirvish/dirvish-cronjob
> #! /bin/sh
> #
> # daily cron job for the dirvish package
> #
>
> #EMAIL SETTINGS
> SUBJECT="Backup Monitoring Report"
> # Email To ?
> EMAIL="you at yourdomain.loc"
> # Email text/message
> EMAILMESSAGE="/tmp/emailmessage.txt"
> echo "Greetings $EMAIL ! "> $EMAILMESSAGE
> echo "This is Backup Monitor speaking" >> $EMAILMESSAGE
>
> #DIRVISH CHECK
> if [ ! -x /usr/sbin/dirvish-expire ]; then exit 0; fi
> if [ ! -s /etc/dirvish/master.conf ]; then exit 0; fi
>
> mydev=/dev/$1
> mount $mydev /backup
> logger "$mydev mounted on /backup"
> logger `df |grep backup`
>
> /usr/sbin/dirvish-expire --quiet && echo "expire result $?" >>
> $EMAILMESSAGE && \
> /usr/sbin/dirvish --vault usb-root && echo "backup /root result $?" >>
> $EMAILMESSAGE && \
> /usr/sbin/dirvish --vault usb-home0 && echo "backup /home result $?" >>
> $EMAILMESSAGE && \
> /usr/sbin/dirvish --vault usb-var && echo "backup /var result $?" >>
> $EMAILMESSAGE && \
> /usr/sbin/dirvish --vault usb-srv && echo "backup /srv result $?" >>
> $EMAILMESSAGE && \
> rc=$?
> #logger "usb backup " $rc
>
> # this should be sufficient but I didn't tested yet.
> # /usr/sbin/dirvish-runall --quiet
>
>
> sync
> umount /backup || rc=$?
> myPart=$1
> myDisk=`echo $myPart | sed '$s/.$//'`
> ## eject $myDisk || rc=$?
> /usr/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
> exit $rc
>
> - Vaults must be defined on the ext3/4 formatted external hdd:
>
> eg.:
>
> usb-home0/dirvish/default.conf
> client: mainserver
> tree: /srv/nfs4/home0/
> xdev: true
> index: gzip
> image-default: %Y%m%d
> exclude:
> /lan/mainserver/home0/thome
> *.mp3
> *.MP3
> *.avi
> *.AVI
> *.wmv
> *.WMV
> *.mpg
> *.MPG
>
>
> /etc/dirvish/master.conf
> bank:
> /backup
>
> #Boolean
> # do not cross FS boundaries
> xdev: 1
> whole-file: 1
>
> exclude:
> lost+found/
> .kde/share/cache/*
> .firefox/default/*/Cache/*
> *~
> .nfs*
> /etc/mtab
> /dev
> /lib/init/rw
> /srv/backup
> /usr/src/**/*.o
> /sys
>
> Runall:
> usb-root
> usb-home0
> usb-var
> usb-srv
> # loc-var 22:00
> # loc-root 22:10
>
> expire-default: +15 days
> expire-rule:
> # MIN HR DOM MON DOW STRFTIME_FMT
> * * * * 1 +1 month
> # * * 1-7 * 1 +1 year
> # * * 1-7 1,4,7,10 1
> # * 10-20 * * * +4 days
> * 10-20 * * * +1 week
> * * * * 2-7 +7 days
>
> image-perm: 700
> meta-perm: 600
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/debian-lan-devel/attachments/20130506/7002983b/attachment-0001.html>
More information about the debian-lan-devel
mailing list