rsync
Commande de base
rsync -av --progress --stats --delete --human-readable -e "ssh -p <mon port ssh>" <mon user distant>@<mon serveur distant>:/path/to/data/source/to/backup /path/to/data/target/
-a
: Options basiques de rsync, (-rlptgoD
combinés),-v
: Verbeux,–progress
: Affiche la progression,–stats
: Des stats sur le transfert,–delete
: Supprimer les fichiers dans la destination qui ne sont pas sur la source (full sync),–human-readable
: Affichage compréhensif des tailles de fichiers (ko,mo…),-e
: Spécifie le shell distant, comme le port SSH par exemple.
Si des fichiers à récupérer qui ne sont pas accessibles pour le compte utilisé, passer outre en autorisant rsync avec une élévation des droits :
apt-get install sudo
sudo visudo
Et on y ajoute la ligne :
<mon user> ALL= NOPASSWD:/usr/bin/rsync
La commande rsync devient alors (avec –rsync-path=“sudo rsync”
comme nouvelle option pour spécifier la commande rsync) :
rsync -av --progress --stats --delete --human-readable --rsync-path="sudo rsync" -e "ssh -p <mon port ssh>" <mon user distant>@<mon serveur distant>:/path/to/data/source /path/to/data/target/