Varmistaminen Windows-työasemalle on suhteellisen varmatoiminen ja samalla edullisin varmistustapa. Jos pakkauksen jättää tekemättä, on myös tiedostojen palauttaminen todella helppoa. Huono puoli tässä kuitenkin on se, että varmistus ei ole paloturvallinen (ellei työasema satu sijaitsemaan eri palotilassa, joka lienee epätödennäköistä ainakin pienissä toimistoissa)
#!/bin/bash
#
# varmistus_win.sh
# tekee varmuuskopiot windows-työasemalle
#
BACKUPDIRS="/etc /var/log /usr/local/bin /home/yhteinen"
LOG="/usr/local/bin/log/backup.log"
ERRORS="/usr/local/bin/log/backup_errors.log"
NOTICE="admin@test.com"
SERVER=`uname -n`
MOUNT="/mnt/varmistus"
DAY=`date | awk '{print $1}'`
NULL=""
#
# Varmuuskopsausta ei tehdä la-su eikä su-ma välisenä yönä
if [ "$DAY" = "Sun" ] || [ "$DAY" = "Mon" ];
then
echo "Ei ole varmuuskopsupäivä"
exit
else
# Mountataan winkkarihakemisto
mount -t smbfs -o username=useri,password=passu \
//workstation/varmistus $MOUNT
# Varmistetaan, että mounttaus onnistui
STATUS=`mount |grep varmistus`
if [ "$STATUS" == "$NULL" ]
then
mail -s "Erros in backup on server $SERVER - Couldn't \
mount backup folder" $NOTICE
exit
else
echo "System backup on `date` of following directories:" \
> $LOG
echo >> $LOG
# kirjoitetaan lokiin varmuuskopioitavat hakemistot
for path in $BACKUPDIRS
do
echo $path >> $LOG
done
echo >> $LOG
# siirretään vanhat varmuuskopsut alta pois
for path in $BACKUPDIRS
do
FILENAME=`echo $path | sed 's/\//varmistus_/' | \
sed 's/\//_/g'`
mv -f $MOUNT/$FILENAME.tar.gz \
$MOUNT/$FILENAME\_onedayold.tar.gz
done
# varmuuskopiodaan hakemistot
for path in $BACKUPDIRS
do
FILENAME=`echo $path | sed 's/\//varmistus_/' | \
sed 's/\//_/g'`
tar -czvf $MOUNT/$FILENAME.tar.gz $path >> $LOG
if [ $? -eq 0 ]
then
echo >> $LOG
echo "Backup of $path succeful" >> $LOG
echo >> $LOG
else
echo >> $LOG
echo "ERRORS IN BACKUP OF $path! See more details in \
$ERRORS" 1>&2 >> $LOG
mpack -s "Errors in backup ($SERVER)" $ERRORS $NOTICE
fi
done
echo >> $LOG
echo "System backups complete on `date`" >> $LOG
echo >> $LOG
# Puretaan mounttaus
umount -t smbfs $MOUNT
mpack -s "$SERVER varmuuskopiointi suoritettu" $LOG \
$NOTICE
fi
fi
0 5 * * * /usr/local/bin/varmistus.sh \
&>/usr/local/bin/log/backup_errors.log