====== Sur le serveur de destination ======
sudo mount /dev/sda2 /media/disque
====== Sur le serveur source ======
sudo rsync -a -e "ssh -p PORT" --stats --progress --delete --exclude "/proc" --exclude "/sys" --exclude "/boot" --exclude "/dev" --exclude "/etc/fstab" / root@192.168.xxx.xxx:/media/disque
### Sur le serveur source ###
@Todo : Ajout d'un user sans shell avec un home /backups
sudo adduser $USER
sudo adduser $GROUPSVN $USER
### Sur le serveur de destination ###
rsync -e "ssh -p $PORT" -avv /$SOURCE/ $USER@$SERVER:/$DESTINATION/
On active pas l'option z (compression) en LAN, c'est utile seulement pour les débits faibles et ça utilise du CPU.
Quand on est sur le serveur de destination, et qu'on veut récupérer du serveur source []<----- * :
rsync -e "ssh -p $PORT" -avv --progress --stats --human-readable $USER@$SERVEURSOURCE:/$PATHSOURCE/ /$PATHDESTINATION/
Quand on est sur le serveur source, et qu'on veut pousser vers le serveur de destination * ----->[] :
rsync -e "ssh -p $PORT" -avv --progress --stats --human-readable /$PATHSOURCE/ $USER@$SERVEURDESTINATION:/$PATHDESTINATION/
https://citizenz.info/utilser-rsync-ssh-et-sudo-pour-copier-facilement-v...
-a : c'est l'option de la "mort-qui-tue". En fait ça fait tout (ou presque). C'est un moyen rapide de dire que vous voulez la récursivité et préserver pratiquement tout. C'est équivalent aux optissn combinées -rlptgoD.
-v : verbeux
--progress : vous indique la progression de la copie/transfert
--stats : affichage de stats sur le transfert des fichiers
--human-readable : lecture "humaine" des chiffres. Idem à l'option ls -h (transforme en KO, MO, GB, ...)
- e : spécifie un shell distant
Il existe une autre option bien pratique :
--delete : cette option demande à rsync d'effacer tous les fichiers superflus côté réception (ceux qui ne sont pas du côté envoi); uniquement pour les répertoires synchronisés. Attention toutefois à l'utilser correctement ...
--delete-before efface avant le transfert (par défaut)
--delete-during efface au cours du transfert, pas avant
--delete-after efface après transfert, pas avant
--delete-excluded efface également les fichiers exclus côté réception
--dry-run montre ce qui aurait été transféré
### Automatisation ###
@Todo : On en fait un script et on ajoute au cron
/!\ Certains fichiers ou dossiers ont eu des droits particuliers que rsync ne saura rétablir.
C'est le cas notamment du dossier **/etc/postfix/sql/**
(lors de l'installation du serveur de mails, cette commande a donné des droits spéciaux aux utilisateurs postfix et root
sudo setfacl -R -m u:postfix:rx /etc/postfix/sql/
On peut voir cela par la présence du `+` à la fin des symboles des droits sur les fichiers
user@machine:~ $ ls -l /etc/postfix/sql/
total 16
-rw-r-x---+ 1 root root 174 3 avril 21:26 relay_domains.cf
-rw-r-x---+ 1 root root 170 3 avril 21:26 virtual_alias_maps.cf
...
Il faut donc les rétablir, après une sauvegarde ou une restauration :
sudo chmod 0640 /etc/postfix/sql/*
sudo setfacl -R -m u:postfix:rx /etc/postfix/sql/