rsync --remove-source-files удаляет исходные файлы по одному или после завершения rsync?

у меня есть команда rsync в приложении, которое копирует содержимое папки на другую машину. У меня есть выбор --remove-source-files потому что я заинтересован только в том, файлы на целевой машине после завершения rsync.

тем не менее, мне было интересно, как rsync ведет себя, если он падает или прерывается при передаче файлов?

считай, у меня есть два файла для синхронизации, a и b. Будет rsync копировать a, затем удалите его из источника и запустите копирование b, или будет ждать обоих a и b можно скопировать на компьютер перед удалением их обоих? Я видел, что вы можете настроить это поведение при удалении посторонних файлов с некоторыми флагами, но не нашли об удалении исходных файлов.

14
задан Flyk
18.03.2023 16:08 Количество просмотров материала 3285
Распечатать страницу

2 ответа

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

16
отвечен Kyle Jones 2023-03-19 23:56

Я попробовал (и вы могли бы легко сделать это тоже, чтобы быть уверенным). Они удаляются после all файлы успешно переданы. Если передача прервана или произошла другая ошибка, исходные файлы не удаляются, даже если некоторые из них переданы нормально.

EDIT: согласно ответу Кайла Джонса, случай может быть другим, когда задействовано много файлов.

4
отвечен Daniel Andersson 2023-03-20 02:13

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх