Як призупинити / відновити передачу великих файлів?


23

Нещодавно мені довелося скопіювати близько 20 ГБ даних, розділених приблизно на 20 файлів з мого ноутбука на зовнішній жорсткий диск. Оскільки ця операція займає досить тривалий час (при ~ 560 кб / с), мені було цікаво, чи є якийсь спосіб призупинити передачу та відновити її пізніше (у випадку, якщо мені потрібно перервати передачу). Як побічне запитання, чи є різниця в продуктивності між копіюванням з терміналу і копіюванням з Nautilus?

Відповіді:


21

Я б рекомендував використовувати rsync .

Приклад:

rsync -a --append source-file destination

Якщо ви хочете побачити хід, додайте --progressпараметр до команди.

alt текст


4
Опція -append, здається, є шпилькою до "Resume" ... але чи є елегантний спосіб "Призупинити" rsync , окрім Ctrl + C? ... і може rsync відновитись точно, після чогось драматичного .. напр. вимкнення?
Пітер.O

Якщо з 2016 року виходили з google, одним із способів було б запустити команду rsync як процес з python або подібного та стежити за процесом, читаючи його вихід. Тоді ви можете запустити SIG / сигнал проти процесу. Файл sh повинен бути в змозі зробити це, я б подумав
Сердитий 84

3

коротка відповідь, не потрібно встановлення, щоб призупинити використання kill -STOP PID
для продовження використання призупиненого процесу, kill -CONT PID
де PID - ідентифікатор процесу. ви можете отримати PID, запустивши монітор системи або topкоманду


2

Я можу відповісти лише на частину про різницю між терміналом і наутилусом. Я кілька разів це перевіряв. Здається, копіювання з терміналу відбувається швидше, ніж будь-який графічний спосіб, як nautilus. Принаймні в моєму випадку, коли я копіюю близько 32 ГБ інформації, це займає приблизно 3 - 5 хвилин менше від терміналу, ніж наутілус з 25-хвилинної копії. тобто приблизно 10% -20% часу. Про спосіб відновити копію на зовнішній підрозділ, я думаю, curlчи rsyncвідновив би її не вдалося. Принаймні з командою cp. Я сам цього не пробував (спробую завтра), але це двоє може спрацювати.

Для curl вам потрібно aptitude install curlабо apt-get instal curlоскільки він за замовчуванням не постачається з ubuntu.

Використовуйте curl --helpабо rsync --helpщоб дізнатися більше. Завтра я покажу, як скопіювати з обох, якщо ви не змогли знайти шлях.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.