Y a-t-il une raison d'utiliser scp
au lieu de rsync
? Je ne vois plus aucune raison d'utiliser scp
, rsync
fait tout ce que scp
fait, avec plus de sécurité (peut conserver les liens symboliques, etc.).
scp fournit une méthode de type cp pour copier des fichiers d'une machine vers une machine distante via une connexion SSH sécurisée.
rsync vous permet de synchroniser les dossiers distants.
Ce sont des programmes différents et les deux ont leur utilité. scp est toujours sécurisé, tandis que rsync doit voyager via SSH pour être sécurisé.
L'une des principales choses (que je pense que personne n'a mentionnées) est que si vous transférez de grandes quantités de données ou de fichiers, et si le transfert est déconnecté avant la fin pour une raison quelconque, rsync le reprendra là où il s'était arrêté. Contrairement à scp.
J'utilise scp si je veux transférer un ou deux fichiers ou répertoires. Je vais à rsync pour les données de taille multi GB.
rsync : Transferts deltas (en utilisant son Delta Transfer Algorithm ) entre:
scp : Transfère des fichiers entiers entre:
Résumé: scp
peut transférer des fichiers entre deux hôtes distants tandis que rsync
ne le prend pas en charge.
L'utilisateur Chris sur Webhosting Talk écrit:
rsync
compare les fichiers à chaque extrémité et transfère uniquement les parties modifiées des fichiers modifiés. Lorsque vous transférez des fichiers la première fois, il se comporte à peu près commescp
, mais pour un deuxième transfert, où la plupart des fichiers sont inchangés, il transmettra beaucoup moins de données quescp
. C'est aussi un moyen pratique de redémarrer les transferts qui ont échoué - il vous suffit de relancer la même commande et elle reprendra là où elle s'était arrêtée la veille, tandis quescp
recommencera à zéro.
scp
est plus simple à utiliser car il prend moins d'arguments. Je me surprends à utiliser scp au lieu de rsync
si je ne transfère qu'un seul fichier. Je suis probablement trop paresseux pour définir un alias pour rsync ... ;-)
Crédits à @tomrunia sur https://Gist.github.com/KartikTalwar/4393116
rsync -aHAXxv --numeric-ids --delete --progress \
-e "ssh -T -c [email protected] -o Compression=no -x" \
[source_directory] user@hostname:[target_directory]/
Faire attention à --delete
, ne l'utilisez pas si vous souhaitez conserver des fichiers superflus dans les répertoires de destination