Existe-t-il une raison d'utiliser scp au lieu de rsync?
62
Y a-t-il une raison d'utiliser scpau lieu de rsync? Je ne vois aucune raison d'utiliser scpà nouveau, rsyncfait tout ce qui scpfait, avec plus de sécurité (peut conserver des liens symboliques, etc.).
@Shadur scp est nuisible en ce qu'il écrase par défaut les fichiers cibles existants. C'est donc rsync, mais cela permet au moins de limiter les dégâts possibles avec -u.
Gilles 'SO- arrête d'être méchant'
3
@Gilles Comme pour tout outil, vous devez comprendre ce qu'il fait et comment il le fait pour l'utiliser en toute sécurité.
Alex Chamberlain
8
Dans ce contexte, régulier cpet rmconsidéré comme "nuisible" - et si vous définissez le terme "nocif" comme "peut me faire foutre si je fais quelque chose de stupide", rsyncn'en est pas moins nuisible.
Shadur
1
Sur des systèmes sans rsyncinstallation, l’utilisation rsyncn’est (évidemment) même pas possible.
Kusalananda
Réponses:
46
scp fournit une méthode semblable à cp pour copier des fichiers d'un ordinateur à un ordinateur distant via une connexion SSH sécurisée.
rsync vous permet de synchroniser des dossiers distants.
Ce sont des programmes différents et les deux ont leurs utilisations. scp est toujours sécurisé, alors que rsync doit voyager sur SSH pour être sécurisé.
En outre, rsync doit être installé à l’autre extrémité.
ckhan
3
@ckhan, non, il peut copier sans rien installer de l’autre côté, ça sera juste moins efficace.
mikebloch
2
J'aime la simplicité de SCP.
Alex Chamberlain
2
@mikebloch Comment faites-vous cela? Est-ce une nouvelle fonctionnalité? Je viens d'essayer cela en utilisant la version 3.0.9. et il s'est plaint qu'il n'a pas pu trouver rsyncsur la télécommande.
Alexios
1
@mikebloch, il doit être installé sur le serveur pour effectuer les calculs de somme de contrôle, ce qui peut ajouter beaucoup de charge de calcul au processeur. C'est pourquoi la plupart des grands sites ne le prennent pas en charge et a zsyncété créé comme alternative.
Psusi
19
L'un des principaux problèmes (que personne ne mentionne, à mon avis) 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 quelque raison que ce soit, rsync le récupérera là où il s'était arrêté. Considérant que SCP ne.
J'utilise scp si je souhaite transférer un ou plusieurs fichiers ou répertoires. Je vais à rsync pour les données de taille multi Go.
Cela vaut la peine d’ajouter que le --partialdrapeau est utile lors du transfert de gros fichiers. rsyncreprendra là où il s'est arrêté dans le fichier plutôt que de le redémarrer.
Flup
Comme @Flup l'a mentionné, rsync ne laissera aucun fichier en transit entre vous pour que vous puissiez le reprendre, sauf si vous utilisez l'option --partial. Ces fichiers sont cachés par défaut dans le répertoire cible. Vous pouvez utiliser --partial-dir pour mettre tous ces fichiers dans un seul répertoire.
Lester Cheung
Eh bien, on rsync -vP username@host:/path/to/file .va faire ça aussi. Voir cette réponse sur Stackoverflow
rsync peut transférer des fichiers entre deux hôtes distants. En fait, rsync a host:best équivalent à scp a host:b.
brandizzi
C'est ce que j'ai écrit: rsync peut transférer des deltas entre des hôtes locaux et distants, mais scp n'est pas limité à cela. Il peut également transférer des deltas entre deux hôtes distants. @brandizzi
rsynccompare les fichiers à chaque extrémité et transfère uniquement les parties modifiées des fichiers modifiés. Lorsque vous transférez des fichiers pour la première fois, il se comporte plutôt bien scp, mais pour un second transfert, dans lequel la plupart des fichiers sont inchangés, le volume de données transféré est bien inférieur à celui de scp. C'est aussi un moyen pratique de redémarrer les transferts en échec - vous ré-émettez simplement la même commande et elle reprendra où elle avait été laissée auparavant, alors scpqu'elle recommencera à zéro.
scpest plus simple à utiliser car cela prend moins d'arguments. J'attrape moi-même en utilisant scp au lieu de rsyncsi je ne transfère qu'un seul fichier. Je suis juste trop paresseux pour définir un alias pour rsync ... ;-)
Hmmm, pourquoi est-ce le cas? rsync a host:best équivalent à scp a host:b, même nombre d'arguments.
mikebloch
1
@mikebloch Deux lettres plus à taper ... ;-) Dans le passé, je devais fournir "-e ssh -a" pour obtenir le résultat correct. Maintenant que "-e ssh" est la valeur par défaut, cela pourrait être un jeu différent.
-u
.cp
etrm
considéré comme "nuisible" - et si vous définissez le terme "nocif" comme "peut me faire foutre si je fais quelque chose de stupide",rsync
n'en est pas moins nuisible.rsync
installation, l’utilisationrsync
n’est (évidemment) même pas possible.Réponses:
scp fournit une méthode semblable à cp pour copier des fichiers d'un ordinateur à un ordinateur distant via une connexion SSH sécurisée.
rsync vous permet de synchroniser des dossiers distants.
Ce sont des programmes différents et les deux ont leurs utilisations. scp est toujours sécurisé, alors que rsync doit voyager sur SSH pour être sécurisé.
la source
rsync
sur la télécommande.zsync
été créé comme alternative.L'un des principaux problèmes (que personne ne mentionne, à mon avis) 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 quelque raison que ce soit, rsync le récupérera là où il s'était arrêté. Considérant que SCP ne.
J'utilise scp si je souhaite transférer un ou plusieurs fichiers ou répertoires. Je vais à rsync pour les données de taille multi Go.
la source
--partial
drapeau est utile lors du transfert de gros fichiers.rsync
reprendra là où il s'est arrêté dans le fichier plutôt que de le redémarrer.rsync -vP username@host:/path/to/file .
va faire ça aussi. Voir cette réponse sur Stackoverflowrsync : Transfère les deltas (à l'aide de son algorithme de transfert delta ) entre:
scp : Transfère des fichiers entiers entre:
Résumé:
scp
peut transférer des fichiers entre deux hôtes distantsrsync
sans le prendre en charge.la source
rsync a host:b
est équivalent àscp a host:b
.Chris, utilisateur de Webhosting Talk, écrit:
la source
scp
est plus simple à utiliser car cela prend moins d'arguments. J'attrape moi-même en utilisant scp au lieu dersync
si je ne transfère qu'un seul fichier. Je suis juste trop paresseux pour définir un alias pour rsync ... ;-)la source
rsync a host:b
est équivalent àscp a host:b
, même nombre d'arguments.Crédits à @tomrunia à l' adresse https://gist.github.com/KartikTalwar/4393116
Faites attention à
--delete
, ne l'utilisez pas si vous voulez conserver des fichiers superflus dans des répertoires de destinationla source