Назад | Перейти на главную страницу

Как очистить после сбоя rsync?

Я убил локальный процесс "rsync -ah".
В целевом каталоге оставались ненужные файлы, такие как .abc.vmdk.zxivMN.
Нежелательные файлы не удаляются при последовательном запуске "rsync -ah".

Подробности:
Я запустил diff для обеих синхронизируемых папок, и он сообщил: «Только в / mnt / archive1 / documents / general: .abc.vmdk.zxivMN»

Как лучше всего очистить временные файлы rsync?

сказать rsync удалить файлы не в источнике, с --delete-during или --delete-after. Будьте осторожны и используйте эту опцию только в том случае, если у вас нет законных файлов на цели, которых нет в источнике.

Видеть man rsync.

Конечно, вы всегда можете вручную удалить файлы, обнаруженные с помощью diff...

Я делаю это используя

find -type f -iname ".*.*.??????" -ls

для теста и

find -type f -iname ".*.*.??????" -delete

для ясного

Я обнаружил, что следующая команда сработала для меня при попытке удалить временные файлы, оставленные rsync после неудачной передачи.

find vod-content/ -path '*/.*' -print0 | xargs -0 -r rm -v

Он находит все «скрытые» файлы (файлы, начинающиеся с символа «.») И передает их команде «rm» для их удаления.

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

Я ищу лучшее решение, но я могу придумать только одно - переместить все empty файлы, начинающиеся с ., и с двумя дополнительными точками в них, в корзину (используя rm немного рискованно):

find -type f -empty -iname ".*.*.*" | xargs -n 1 -d'\n' mv -v -t /tmp/

Ни в коем случае не надежный.