apt-get install beep ivman mailx sendemail smbclient
/etc/ivman/IvmConfigActions.xml:
...
<ivm:Match name="hal.block.is_volume" value="true">
<ivm:Match name="hal.volume.label" value="backup">
<ivm:Option name="mount" value="false" />
<ivm:Option name="exec" value="/etc/backup/usbbackup $hal.block.device$" />
</ivm:Match>
</ivm:Match>
...
...
<!-- ausmarkieren
<ivm:Match name="ivm.mountable" value="true">
<ivm:Option name="mount" value="true" />
</ivm:Match>
-->
...
/etc/hal/fdi/policy/preferences.fdi
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
...
<deviceinfo version="0.2">
...
<device>
<match key="info.category" string="storage">
<match key="storage.hotpluggable" bool="true">
<merge key="storage.policy.should_mount" type="bool">true</merge>
</match>
</match>
</device>
...
/etc/ivman/IvmConfigBase.xml
... <ivm:Option name="user" value="root" /> ...
cfdisk /dev/sdb mke2fs -j -L backup /dev/sdb1 tune2fs -c0 -i0 /dev/sdb1 # e2label /dev/sdb1 backup # bereits beim Formatieren erledigt
/etc/backup/usbbackup
#!/bin/bash
FROM="Backupsystem"
SENDTO="admin@server"
SMTP="server"
#SMBCLIENT="PC-VON"
DEST='/mnt'
SYNCFILE="$DEST/`hostname`/lastsync"
FOLDER="$DEST/`hostname`/woche`date +"%W"`"
FOLDER="$DEST/`hostname`/`date +"%Y%m%d"`"
msg="`date +"%b %d %R:%S "``hostname` Backup starten auf $1"
echo $msg >> /var/log/usbbackup.log
beep -f 500 -n -f 740
mount $1 $DEST
sleep 1
LAST=`cat $SYNCFILE`
mkdir -p $FOLDER
if [ -d "$LAST" ] ; then
HL="--link-dest=$LAST"
fi
rsync -a $HL /etc $FOLDER/ 2>>$FOLDER/errors >>$FOLDER/log
rsync -a $HL /data/home $FOLDER/ 2>>$FOLDER/errors >>$FOLDER/log
rsync -a $HL /data/samba $FOLDER/ 2>>$FOLDER/errors >>$FOLDER/log
rsync -a $HL /data/mysql $FOLDER/ 2>>$FOLDER/errors >>$FOLDER/log
rsync -a $HL /data/ldap $FOLDER/ 2>>$FOLDER/errors >>$FOLDER/log
rsync -a $HL /data/www $FOLDER/ 2>>$FOLDER/errors >>$FOLDER/log
echo $FOLDER > $SYNCFILE
FREE=`df -h $1 | tail -n 1`
umount $DEST
beep -f 740 -n -f 500
echo `date +"%b %d %R:%S "``hostname` Backupmedium: $FREE >> /var/log/usbbackup.log
echo `date +"%b %d %R:%S "``hostname` Backup beendet >> /var/log/usbbackup.log
msg="$msg\n`date +"%b %d %R:%S "``hostname` Backupmedium: $FREE"
msg="$msg\n`date +"%b %d %R:%S "``hostname` Backup beendet"
if [ -z $SMBCLIENT ] ; then
sendEmail -f $FROM -t $SENDTO -u "Backup fertig" -m $msg -s $SMTP
else
echo $msg | smbclient -M $SMBCLIENT
fi