<div dir="ltr"><div><div><div><div><div>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.<br>

</div><div>It's a beta version. I still have to check the retention policy, improve the backup script error management and monitoring<br></div><div><br></div>- /etc/udev/rules.d/50-usb-backup<br>(inspired by <a href="http://bernaerts.dyndns.org/linux/54-debian-udev-backup">http://bernaerts.dyndns.org/linux/54-debian-udev-backup</a>)<br>

KERNEL=="sd?1", ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="your hardware    ", ATTRS{model}=="your model   ", RUN+="/usr/local/bin/dirvish-usb %k"<br><br>

Your hardware and your model must be replaced by values collected through:<br>udevadm info --name=/dev/sdX --attribute-walk | grep "ATTRS{vendor}\|ATTRS{model}"<br></div><div><br></div></div>- plugging in the external hdd will trigger the script beneath RUN+  /usr/local/bin/dirvish-usb with the device as argument<br>

Based on the default /etc/dirvish/dirvish-cronjob<br></div>#! /bin/sh<br>#<br># daily cron job for the dirvish package<br>#<br><br>#EMAIL SETTINGS<br>SUBJECT="Backup Monitoring Report"<br># Email To ?<br>EMAIL="you@yourdomain.loc"<br>

# Email text/message<br>EMAILMESSAGE="/tmp/emailmessage.txt"<br>echo "Greetings $EMAIL ! "> $EMAILMESSAGE<br>echo "This is Backup Monitor speaking" >> $EMAILMESSAGE<br><br>#DIRVISH CHECK<br>

if [ ! -x /usr/sbin/dirvish-expire  ]; then exit 0; fi<br>if [ ! -s /etc/dirvish/master.conf ]; then exit 0; fi<br><br>mydev=/dev/$1<br>mount $mydev /backup<br>logger "$mydev mounted on /backup"<br>logger `df |grep backup`<br>

<br>/usr/sbin/dirvish-expire --quiet && echo "expire result $?" >> $EMAILMESSAGE && \<br>/usr/sbin/dirvish --vault usb-root && echo "backup /root result $?" >> $EMAILMESSAGE && \<br>

/usr/sbin/dirvish --vault usb-home0 && echo "backup /home result $?" >> $EMAILMESSAGE && \<br>/usr/sbin/dirvish --vault usb-var && echo "backup /var result $?" >> $EMAILMESSAGE && \<br>

/usr/sbin/dirvish --vault usb-srv && echo "backup /srv result $?" >> $EMAILMESSAGE && \<br>rc=$?<br>#logger "usb backup " $rc<br><br></div># this should be sufficient but I didn't tested yet.<br>

<div># /usr/sbin/dirvish-runall --quiet<br><br><br>sync<br>umount /backup || rc=$?<br>myPart=$1<br>myDisk=`echo $myPart | sed '$s/.$//'`<br>## eject $myDisk || rc=$?<br>/usr/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE<br>

exit $rc<br><br><div>- Vaults must be defined on the ext3/4 formatted external hdd:<br><br></div><div>eg.:<br><br></div><div>usb-home0/dirvish/default.conf<br>client: mainserver<br>tree: /srv/nfs4/home0/<br>xdev: true<br>

index: gzip<br>image-default: %Y%m%d<br>exclude:<br>        /lan/mainserver/home0/thome<br>        *.mp3<br>        *.MP3<br>        *.avi<br>        *.AVI<br>        *.wmv<br>        *.WMV<br>        *.mpg<br>        *.MPG<br>

<br><br></div><div>/etc/dirvish/master.conf<br></div><div>bank:<br>        /backup<br><br>#Boolean<br># do not cross FS boundaries<br>xdev: 1<br>whole-file: 1<br><br>exclude:<br>        lost+found/<br>        .kde/share/cache/*<br>

        .firefox/default/*/Cache/*<br>        *~<br>        .nfs*<br>        /etc/mtab<br>        /dev<br>        /lib/init/rw<br>        /srv/backup<br>        /usr/src/**/*.o<br>        /sys<br><br>Runall:<br>        usb-root<br>

        usb-home0<br>        usb-var<br>        usb-srv<br>#       loc-var         22:00<br>#       loc-root        22:10<br><br>expire-default: +15 days<br>expire-rule:<br>#       MIN HR    DOM MON       DOW  STRFTIME_FMT<br>

        *   *     *   *         1    +1 month<br>#       *   *     1-7 *         1    +1 year<br>#       *   *     1-7 1,4,7,10  1<br>#       *   10-20 *   *         *    +4 days<br>        *   10-20 *   *         *    +1 week<br>

        *   *     *   *         2-7  +7 days<br><br>image-perm: 700<br>meta-perm: 600<br><br></div></div></div>