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.
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).
#!/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
sudo joe /etc/rsyncd.conf
).
Ik gebruik de volgende configuratie:
pid file = /var/run/rsyncd.pid #hosts allow = trusted.hosts hosts allow = 192.168.92.0/24 slp refresh = 300 use slp = false #[Example] # path = /home/Example # comment = An Example # auth users = user # secrets file = /etc/rsyncd.secrets [backup] path = /media/backup comment = Backup read only = false [backup2] path = /media/backup2 comment = Backup 2 read only = false [ntfs] path = /windows/C/Backup comment = Backup NTFS read only = falseDaarbij heb ik de instelling hosts allow aangepast zodat enkel computers met een IP adres in het bereik 192.168.92.0 tot en met 192.168.92.255 de rsync server kunnen gebruiken. M.a.w. in de praktijk enkel vanuit het lokale netwerk en niet vanaf het internet. De secties [backup], [backup2] en [ntfs] zorgen ervoor dat de voor de back-up gemounte partities door de rsync server beschikbaar worden gesteld. De ntfs partitie werd met het bestandssysteem NTFS gepartitioneerd, de andere partities met ext4. Aangezien rsync alle rechten en eigenschappen van de bestanden en mappen in de back-up overneemt, gebruik ik voor zowel de bron als het doel van de back-up steeds hetzelfde bestandssysteem. M.a.w. als je een back-up wilt maken van een ext4 partitie, plaats je de back-up op een ext4 partitie. De back-ups moeten vanzelfsprekend beschrijfbaar zijn (read only = false).
sudo /sbin/chkconfig --set rsyncd on
zorg je ervoor dat de rsync server bij het opstarten van de computer automatisch wordt opgestart.
Met de opdracht sudo /etc/rsyncd start
kun je de rsync server testen zonder de computer de herstarten.sudo /sbin/yast2 firewall services add service=service:rsync-server zone=EXT
open je de firewall voor de rsync server.sudo /sbin/chkconfig --set sshd on
zorg je ervoor dat de ssh server bij het opstarten van de computer automatisch wordt opgestart.
Met de opdracht sudo /etc/sshd start
kun je de ssh server testen zonder de computer de herstarten.sudo /sbin/yast2 firewall services add service=service:sshd zone=EXT
open je de firewall voor de ssh server.su
ssh-keygen -b 521 -t ecdsa
ssh-copy-id -i ~/.ssh/id_ecdsa.pub 192.168.92.2
exit