Complete backup of a server
Version française: SauvegardeComplÃTeDunServeur?
A data or web server needs several kinds of backups, depending what problem the backup is aimed to fix.
On this page... (hide)
- 1. Rsync scripts
- 2. Home
- 3. System
- 4. Variants
1. Rsync scripts
Most backups are done with rsync scripts, preferably to an external server (other than the one being backed). So you may need to setup a ssh authentification key without pass phrase to connect the two computers (see).
2. Home
By home, I mean home and all the eventual data, I mostly try to setup data folders in /home for convenience (in the server). There are probably in /home no special file needing special treatment, but the files may be large or in large number. These files mostly have to survive a server upgrade.
rsync -avz --delete --rsync-path="rsync --fake-super" -e "ssh -i /root/.ssh/id_dsa" /home user@dodin.org:~/data/
fake-super is there to keep superuser permissions if any.
save it in a script bash in bin
In cron:
30 01 * * * /root/bin/backup-home
3. System
In system, the key is "-x' that mean "no external file system", for example do not go to mounted parts (so no /home) nor extra file systems like /dev or /proc.
rsync -avz --delete --rsync-path="rsync --fake-super" -e "ssh -i /root/.ssh/id_dsa" -x / nemo-bk@dodin.org:/data/nemo-bk/system
4. Variants
rsync -av --max-size=400m --delete --exclude=/media --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/tmp --exclude=/var/tmp --delete-excluded --exclude='*/Cache/*' --exclude=/windows/C/pagefile.sys / /media/opensuse11/
ajouter "-n" (dry run) au premier essai
sauvegarde du serveur:
rsync -av --exclude=/media --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/tmp --exclude=/var/tmp --exclude=/data --exclude=/extra --exclude=/home / .
-e ssh root@dodin:/ pour passer par ssh
attention, ca exclu /data
pour les données:
rsync -av --exclude k2_root/ --exclude backup/ -e ssh root@dodin.org:/data/ .
Usage de l'option "-x" (one file system)?
se placer dans le répertoire de réception et
rsync -av -x --delete origine destination
Sauvegarde du serveur du culte:
m-r (dans m-r, script cron):
rsync -avz -e "ssh -i /root/.ssh/id_dsa" / cu1lt2@dodin.org:/data/culte-serveurs-bk/m-r/ --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/tmp --exclude=/var/tmp --delete-excluded --exclude='*/Cache/*' --max-size=400m --delete