1 - setup fstab to locate usb hdd at /srv/extusbhdd
# /etc/fstab: static file system information.
#
#
/dev/vg1/public /srv/ArchivedData ext3 defaults,noatime,errors=remount-ro 0 1
/dev/vg2/activedata /srv/ActiveData ext3 defaults,noatime,errors=remount-ro 0 1
/dev/InitioUSBHDD /media/usbexthdd ext3 defaults,errors=remount-ro 0 0
2 - Configure UDEV to set off a event when a usb drive is connected
sgoggin@Orangutang:/etc/udev$ ls
rules.d udev.confsgoggin@Orangutang:/etc/udev$ cd rules.d
sgoggin@Orangutang:/etc/udev/rules.d$ ls
00-init.rules 25-iftab.rules 65-persistent-storage.rules 85-ifupdown.rules 99-udevmonitor.rules
05-options.rules 30-cdrom_id.rules 80-programs.rules 85-lvm.rules README
10-local.rules 40-permissions.rules 85-alsa.rules 85-mdadm.rules
20-names.rules 60-symlinks.rules 85-hdparm.rules 85-pcmcia.rules
25-dmsetup.rules 65-persistent-input.rules 85-hwclock.rules 90-modprobe.rules
sgoggin@Orangutang:/etc/udev/rules.d$ cat 10-local.rules
BUS=="usb", SYSFS{manufacturer}=="Initio", KERNEL=="sd?1", NAME="InitioUSBHDD", SYMLINK="usbdevices/InitioUSBHDD", RUN+="/usr/local/bin/udevmountusb"
3- Script to do backup
vi exthddbak_goggin_incremental
#!/bin/sh
tmp=/tmp/ELBGstatus-report-`date +%F`
touch $tmp && chmod 600 $tmp
date=`date "+%Y-%m-%dT%H:%M:%S"`
logger ORANGUTANG ExtUSB Goggin Backup - $date START
echo "Subject: Status of ORANGUTANG ExtUSB Goggin Backup - $date \n" > $tmp
logger ORANGUTANG ExtUSB Goggin Backup - $date START RSYNC
rsync -aP --link-dest=/srv/extusbhdd/Backups/current /srv/ActiveData/Goggin /srv/extusbhdd/Backups/back-$date >> $tmp
rm /srv/extusbhdd/Backups/current
ln -s back-$date /srv/extusbhdd/Backups/current
logger ORANGUTANG ExtUSB Goggin Backup - $date SENDMAIL
sendmail -f penelopy stuart.goggin@gmail.com < $tmp
logger ORANGUTANG ExtUSB Goggin Backup - $date CLEANUP
rm $tmp
logger ORANGUTANG ExtUSB Goggin Backup - $date DONE
4 - Script to be called to do automount when usb drive plugged in.
Located /usr/local/bin/udevmountusb
#!/bin/sh -e
logger USB HDD Detected
mount /dev/InitioUSBHDD
logger exthddbak_goggin_incremental
exthddbak_goggin_incremental
logger umount /dev/InitioUSBHDD
umount /dev/InitioUSBHDD
RESULTS
- Works - But I need some way to indicate when the drive can be removed.
No comments:
Post a Comment