Я убил локальный процесс "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/
Ни в коем случае не надежный.