Comment suspendre / reprendre le transfert de gros fichiers?

23

J'ai récemment dû copier environ 20 Go de données réparties entre environ 20 fichiers de mon ordinateur portable sur un disque dur externe. Étant donné que cette opération prend un certain temps (à ~ 560 kb / s), je me demandais s'il y avait un moyen de suspendre le transfert et de le reprendre plus tard (au cas où, je devrais interrompre le transfert). Comme question secondaire, y a-t-il une différence de performances entre la copie depuis le terminal et la copie depuis Nautilus?

Olivier Lalonde
la source

Réponses:

21

Je recommanderais d'utiliser rsync .

Exemple:

rsync -a --append source-file destination

Si vous souhaitez voir la progression, ajoutez l' --progressoption à la commande.

texte alternatif

Isaïe
la source
4
L' option -append semble être la goupille lynch du "Resume" ... mais existe-t-il une manière élégante de "Pause" rsync , autre que Ctrl + C? ... et peut rsync reprendre avec précision, après quelque chose de dramatique .. par exemple. une mise hors tension?
Peter.O
Si vous veniez de Google en 2016, une façon serait de lancer la commande rsync en tant que processus à partir de python ou similaire et de surveiller le processus tout en lisant sa sortie. Ensuite, vous pouvez déclencher un signal SIG / contre le processus. Un fichier sh devrait être capable de faire cela, je pense
Angry 84
3

réponse courte, pas besoin d'installation, pour suspendre l'utilisation kill -STOP PID
pour continuer l'utilisation du processus en pause kill -CONT PID
où PID est l'ID de processus. vous pouvez obtenir le PID en exécutant le Moniteur système ou la topcommande

Edward Torvalds
la source
2

Je ne peux répondre qu'à la partie sur la différence entre terminal et nautilus. J'ai vérifié plusieurs fois cela. Il semble que la copie depuis le terminal soit plus rapide que n'importe quelle autre méthode graphique comme nautilus. Au moins dans mon cas, lorsque je copie environ 32 Go d'informations, cela prend environ 3 à 5 minutes de moins du terminal que nautilus à partir d'une copie de 25 minutes. c'est environ 10% -20% du temps. À propos d'un moyen de reprendre une copie sur votre unité externe, je pense curlou rsyncje reprendrais une copie ayant échoué. Au moins avec la commande cp. Je n'ai pas essayé cela moi-même (j'essaierai demain) mais ces deux pourraient fonctionner.

Pour la boucle, vous devez aptitude install curlou apt-get instal curlcar elle n'est pas fournie avec ubuntu par défaut.

Utilisez curl --helpou rsync --helppour en savoir plus. Demain, je montrerai comment copier avec les deux si vous ne trouvez pas le chemin.

Luis Alvarado
la source