Doc /

Complete backup of a server

Version française: SauvegardeComplTeDunServeur?

A data or web server needs several kinds of backups, depending what problem the backup is aimed to fix.

On this page... (hide)

  1.   1.  Rsync scripts
  2.   2.  Home
  3.   3.  System
  4.   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

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 /

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 .

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" / --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/tmp --exclude=/var/tmp --delete-excluded --exclude='*/Cache/*' --max-size=400m --delete