Existe-t-il un moyen de poursuivre le processus de commande scp (copie sécurisée) interrompu sous Linux? [fermé]

241

Je copie un fichier de 7,5 Go sur un serveur distant à l'aide de la commande scp . À un moment donné, le transfert de fichiers est interrompu et je dois tout recommencer.

La quantité temporaire de fichiers transférés est-elle complètement perdue? Puis-je redémarrer le transfert à partir de l'endroit où il s'était arrêté lors d'une tentative précédente? Sinon, existe-t-il une commande de transfert de fichiers en ligne de commande Unix standard pour ce faire?

Matko
la source
1
Plus de réponses trouvées à cette question , incl. solutions sans rsync.
tanius

Réponses:

401

Si vous devez reprendre un transfert scp du local vers le distant , essayez avec rsync:

rsync --partial --progress --rsh=ssh local_file user@host:remote_file

Version courte, comme l'a souligné @ aurelijus-rozenas :

rsync -P -e ssh local_file user@host:remote_file

En général, l'ordre des arguments pour rsync est

rsync [options] SRC DEST
Tom McClure
la source
35
Pour un port différent de celui utilisé par défaut 22rsync -P -e "ssh -p 222" SRC DEST
asofyan
4
Et si le rsync -eest interrompu, j'ai trouvé renommer le. <filename>. <6funnychars> en <filename> sur la destination avant de reprendre le rsync -enécessaire.
gaoithe
5
rsync ne fonctionne que si vous l'avez disponible de l'autre côté.
dothebart
1
Est-ce que rsync reprend vraiment un transfert de fichier qui a commencé dans scp? Deux commandes rsync sont-elles réellement nécessaires, une commande rsync, pas scp, pour commencer la copie, puis se déconnecter, puis une deuxième commande rsync pour reprendre la copie?
Geoffrey Anderson
4
Peu importe comment vous avez initialement obtenu le téléchargement partiel. Vous pouvez commencer avec scp puis terminer avec rsync.
Tom McClure
17

C'est tout ce dont vous avez besoin.

 rsync -e ssh file host:/directory/.
DigitalRoss
la source