web-dev-qa-db-fra.com

Y a-t-il jamais une raison d'utiliser scp au lieu de rsync?

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.).

66
mikebloch

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é.

49
Alex Chamberlain

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.

20
ravi

rsync : Transferts deltas (en utilisant son Delta Transfer Algorithm ) entre:

  1. hôtes locaux et distants

scp : Transfère des fichiers entiers entre:

  1. hôtes locaux et distants
  2. hôtes distants et éloignés

Résumé: scp peut transférer des fichiers entre deux hôtes distants tandis que rsync ne le prend pas en charge.

11
Devesh Saini

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 comme scp, mais pour un deuxième transfert, où la plupart des fichiers sont inchangés, il transmettra beaucoup moins de données que scp. 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 que scp recommencera à zéro.

2
nkint

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 ... ;-)

0
Nils

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

0
Jorj