Tips en Trucs 2011

Een back-up up to date houden met een rsync script

De meeste gebruikers waarderen een back-up pas als ze eens waardevolle gegevens per ongeluk kwijtspelen. Na zo'n ramp gaat men op zoek naar back-upsoftware. Deze software moet je daarna nog leren gebruiken, gewoon worden en op regelmatige basis gebruiken zodat de back-up steeds up to date blijft. De meeste back-up software is gebaseerd op het standaard hulpmiddel rsync. Een backup maken kun je dus met het standaard hulpmiddel rsync evengoed zelf maken.

De voor- en nadelen van een rsync back-up

Een voordeel van een rsync back-up is dat de bestanden en mappen rechtstreeks toegankelijk zijn. M.a.w. je hebt geen speciaal programma nodig om de bestanden en mappen te openen, te kopiëren, enz. Een tweede voordeel is dat de back-up steeds een exacte kopie bevat van al uw bestanden en mappen.

De nadelen volgen uit de voordelen. Daar de bestanden en mappen rechtstreeks toegankelijk zijn, wordt geen compressie toegepast en neemt de back-up even veel plaats in als de originele mappen en bestanden. Je kunt natuurlijk gebruik maken van extra software (lessfs) of moderne bestandssystemen met compressie (btrfs). Daar de back-up steeds een kopie is van het origineel kun je niet terugkeren in de tijd (van voor de laatste back-up).

Een script zorgt ervoor dat het geheel gebruiksvriendelijk wordt.

#!/bin/bash
setterm -blank 0 # Schakel de schermbeveiliging uit
backupip=l092pc02 # Je kunt hier ook IP adressen gebruiken (voorbeeld: 192.168.1.2)
printf '\033[0m'; clear # Kleuren standaard
echo "Uitvoeren RSync backup:"
printf '=======================\n'

rsync $backupip::
if [ $? -ne 0 ]; then
	printf '\033[1;31;40m Kon geen verbinding met backupserver opbouwen.\033[0m\n' # Rode letters
	printf '\033[1;32;40m Druk Return om door te gaan.' # Groene letters op zwarte achtergrond
	read Keypress
else
	rm /tmp/rsync.log /tmp/rsync.error # verwijder het logboek en de foutmeldingen van de vorige backup
# argument z toegevoegen om de bandbreedte te beperken
# het argument --bwlimit kan ook gebruikt worden
	rsync -avHxh --numeric-ids --progress --delete --exclude="lost+found/" /var/backup/ $backupip::backup/hpe530be/backup 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
	rsync -avHxh --numeric-ids --progress --delete --exclude="lost+found/" /usr/home/Documents/ $backupip::backup2/hpe530be/documenten 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
	rsync -avHxh --numeric-ids --progress --delete --exclude="lost+found/" --exclude="/usr/home/Documents/" --exclude="/var/backup/" --exclude="/windows/C/" --exclude="/home/dany/vmware/" / $backupip::backup/hpe530be/linux 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
	rsync -avHxh --numeric-ids --progress --delete --exclude="\$RECYCLE.BIN/" --exclude="System Volume Information/" --exclude="hiberfil.sys" --exclude="pagefile.sys" /windows/C/ $backupip::ntfs/hpe530be/windows 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
	rsync /tmp/rsync.log $backupip::backup/hpe530be
	rsync /tmp/rsync.error $backupip::backup/hpe530be

# NFS Backup
# 	mkdir -p /media/nfs/backup /media/nfs/backup2 /media/nfs/ntfs
# 	mount $backupip:/media/backup /media/nfs/backup
# 	mount $backupip:/media/backup2 /media/nfs/backup2
# 	mount $backupip:/windows/C/Backup /media/nfs/ntfs
# 	rsync -avHxh --numeric-ids --progress --delete --exclude="lost+found/" /var/backup/ /media/nfs/backup/hpe530be/backup 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
# 	rsync -avHxh --numeric-ids --progress --delete --exclude="lost+found/" /usr/home/Documents/ /media/nfs/backup2/hpe530be/documenten 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
# 	rsync -avHxh --numeric-ids --progress --delete --exclude="lost+found/" --exclude="/home/dany/vmware/" / /media/nfs/backup/hpe530be/linux 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
# 	rsync -avHxh --numeric-ids --progress --delete --exclude="\$RECYCLE.BIN/" --exclude="System Volume Information/" --exclude="hiberfil.sys" --exclude="pagefile.sys" /windows/C/ /media/nfs/ntfs/hpe530be/windows 2>>/tmp/rsync.error | tee -a /tmp/rsync.log
#	rsync /tmp/rsync.log /media/nfs/backup/hpe530be
#	rsync /tmp/rsync.error /media/nfs/backup/hpe530be

#	touch /tmp/stop
#	rsync /tmp/stop $backupip::backup
	printf '\033[1;32;40mDe backupcomputer wordt binnen de minuut afgesloten.\033[0m\n' # Groene letters op zwarte achtergrond
	printf '\033[1;31;40mRsyncbackup gaf de volgende foutmeldingen:\033[0m\n' # Rode letters
	more /tmp/rsync.error # toont de tijdens de backup opgetreden foutmeldingen
	printf '\033[1;32;40mDe backup is voltooid.\033[0m\n' # Groene letters op zwarte achtergrond
	sleep 60 # doe 1 minuut niets, systeem komt tot rust
#	ssh $backupip "/sbin/halt" # na het tot rust komen van de backupserver, kun je deze automatisch afsluiten
fi

Opmerkingen