it-swarm-ru.tech

Как я могу приостановить / возобновить rsync

Как я могу приостановить rsync, который работает?

Первый раз, когда я сделал Ctrl+C чтобы убить его и использовал -P флаг для запуска снова. Это склонно к повреждению текущей передачи файла?

Второй раз я просто усыпляю MacOS (закрыв крышку). Глядя на запущенный процесс, я вижу 2 (не уверен почему) со статусом "S".

Пробовал с помощью

kill -SIGCONT

возобновить процесс, но это не имеет никакого эффекта.

52
qnoid

Вы можете приостановить любую программу, отправив ей сигнал TSTP (вежливый) или STOP (принудительный). На терминале вы запустили rsync in, нажав Ctrl+Z отправляет TSTP. Возобновите с помощью команды fg или bg в терминале или сигнала CONT.

Безопасно убить процесс rsync и запустить все заново; он продолжится там, где остановился. Это может быть немного неэффективно, особенно если вы не прошли --partial (включен в -P), потому что rsync снова проверит все файлы и обработает файл, на котором он был прерван с нуля.

Могут быть необычные комбинации параметров, которые приведут к неправильной синхронизации некоторых файлов, например --inplace с чем-то еще, но я думаю, что ни один вариант не приведет к этому.

Если вы отключите ноутбук и подключите его где-то еще, он может получить другой IP-адрес. Тогда соединение TCP, используемое rsync, будет разорвано, поэтому вам придется прервать его и начать заново. Это также может произойти, если вы приостановили работу своего ноутбука и TCP время ожидания истекло. Время ожидания истечет до уровня приложения, но это может занять некоторое время. Нажать безопасно Ctrl+C и снова запустите rsync.

66
Gilles 'SO- stop being evil'

Ctrl+Z приостановить и:

$ fg

продолжить, использовать

$ jobs

видеть приостановленные работы; bg [number] для фона; fg [number] на первый план.

22
gauteh

Запустите rsync с --partial флаг. Затем он сохранит частичные передачи и возобновит частичные файлы при запуске.

8
bahamat

Люди здесь упоминали, используя --partial флаг работает, однако следует отметить, что он возобновляется только тогда, когда --append или --append-verify флаг используется при возобновлении.

--partial создает скрытый файл из файла, который не завершил процесс синхронизации, файл сохраняется при прерывании синхронизации. Он продолжает заполнять файл, когда вы используете --append после возобновления, в противном случае, когда не используется --append, неполный скрытый файл сохраняется и остается неполным.

Вывод: Вы можете просто прервать rsync --partial с помощью Ctrl + C если вы используете rsync --append при возобновлении

(Источник: Может ли rsync возобновиться после прерывания? найдено 5 апреля 2016 г.)

5
Mehdi Nellen