Ceci est une ancienne révision du document !
Pour copier simplement des fichiers d’un serveur à l’autre, vous pouvez utiliser rsync qui est plus rapide que scp et qui en plus permet de préserver les informations de propriétaire des fichiers.
Pour copier un fichier ou dossier
rsync -avzP [SOURCE] [DESTINATION] rsync -a /home/users toto@serveur:/sauvegarde/. rsync -avP tata@serveur:/var/archives/mysql.tar.gz /var/archive/.
-a
est le mode archive qui remplace les options -rlptgoD
recursive / copie liens symboliques / copie les permissions / copie la date et heure / copie le groupe / copie le propriétaire / copie les fichiers spéciaux-v
est le mode verbeux -z
permet la compression pour utiliser moins de bande passante-P
permet d’afficher la progression de transfert
Ici seul l’option -a
est importante.
Si votre source contient des liens physiques (hard link), alors ajoutez l’option -H
Si votre serveur de destination a un port ssh spécifique (ex: 2222)
rsync -avP -e "ssh -p 2222" user@serveur:/path/to/files/ /local/path/
Fichier de config de base à la con vite fait mal fait…
cat /etc/rsyncd.conf
log file = /var/log/rsyncd.log [backup] path = /backup/ comment = Synchro fichiers read only = false hosts allow = 88.888.888.888, 172.16.43.0/24 #auth users = toto #secrets file = /etc/rsyncd.secrets
Ma commande sur la machine client pour sauvegarder
rsync -r -t -l -p -o -g -v --progress --stats --delete-after /home/commun/ 172.16.43.53::backup/
-r, –recursive visite récursive des répertoires
-t, –times préserve les dates
-l, –links copie les liens symboliques comme liens symboliques
-p, –perms préserve les permissions
-o, –owner préserve le propriétaire (root uniquement)
-g, –group préserve le groupe
-v, –verbose plus loquace
–progress montre l’avancement pendant le transfert
–stats affiche quelques statistiques de transfert de fichiers
–delete-after efface après transfert, pas avant
Avec cette commande, je fais une synchronisation entre mon répertoire /home/commun/ et la config “backup” du serveur rsync (172.16.43.53)
Je fais un –delete-after afin de supprimer les fichiers qui n’existent plus dans la source, mais la suppression se fait à la fin de la synchro !! (Important selon moi)
rsync: failed to set times on "/." (in backup): Operation not permitted (1)
Pour résoudre ce problème, j’ai simplement fait un
chown nobody.nogroup repertoire_de_sauvegarde