Мягкое завершение работы rsync

Мягкое завершение работы rsync

Есть ли способ сказать, rsyncчтобы останавливаться, когда это возможно, чистым способом? Два варианта:

  • прекратить rsyncпередачу текущего файла, очистить все временные файлы и выйти;
  • или дайте rsyncзавершить передачу текущего файла и затем остановитесь.

Делая Ctrl + Cэто, вы останавливаетесьв середине передачии оставляет там временные файлы, верно?

Редактировать

Даже если использовать --inplace? Каков будет лучший курс действий? Я использую rsyncс --inplaceи мне нужно быстро, как я могу сказать: «Может быть, закончить с этим файлом и выйти, или выйти сейчас, но очистить этот файл, который вы копировали, чтобы не оставить поврежденных вещей (мне все равно, если он будет удален, я смогу сделать резервную копию позже)» или что-то в этом роде.

решение1

Если вы завершите rsync с помощью Ctrl+Cэтого параметра, он остановит передачу данных, но не сохранит никаких временных файлов, если только не запущен с этой --partialопцией.

Для тех, кто также заинтересован в том, чтобы просто приостановить rsync, если вы нажмете, Ctrl+Zэто приостановит программу. Когда вы возобновите ее, запустив fgили bgrsync повторит файл, который он не закончил, и продолжит загрузку остальных файлов. Чтобы увидеть все приостановленные в данный момент программы, запуститеjobs

О --inplace

Проблема с --inplace в том, что он не создает новый файл при обновлении данных, а просто записывает в существующий. Если вы нажмете ctrl + c во время работы с --inplace и он обновит существующий файл, он оставит наполовину готовый файл, не удалив его. Также, если вы синхронизируете только новые файлы и не обновляете существующие, то при прерывании передачи (с помощью ctrl + c) он оставит наполовину готовый файл, который не удалит. Просто замечание: я бы не рекомендовал --inplace для файлов ОС. Вы действительно можете испортить некоторые вещи (потому что они часто меняются)

Связанный контент