[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