rsync - удаляет файлы из исходного каталога, даже если в место назначения ничего не скопировано из-за опции «игнорировать существующий»

rsync - удаляет файлы из исходного каталога, даже если в место назначения ничего не скопировано из-за опции «игнорировать существующий»

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

rsync --remove-source-files --ignore-existing -a source/ destination

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

Можно ли это сделать с помощью rsync?

решение1

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

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

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