
У меня есть папка на флешке, подключенной к моему роутеру, куда я копирую файлы, которые должны синхронизироваться с моим HTPC при его запуске. При запуске там работает этот маленький скрипт синхронизации
rsync --remove-source-files --ignore-existing -a source/ destination
Это перемещает файлы на HTPC и удаляет файлы в исходном каталоге. Но когда файл уже существует, ничего не копируется (нет проверки временных меток, только проверка имени файла). Но я хочу удалить файлы в исходном каталоге, когда rsync распознает, что в целевом каталоге уже есть файл с таким же именем.
Можно ли это сделать с помощью rsync?
решение1
Хороший вопрос. У меня был похожий случай использования, когда я использовал filezilla для выполнения загрузки (так как в данном конкретном случае это было бы быстрее из-за параллельных подключений) и хотел, чтобы rsync просто выполнил проверку и удалил переданные исходные файлы.
Я заставил rsync сделать это с помощью -c
. Только тогда он также удалил исходные файлы, хотя раньше этого не делал, с обычной проверкой пропуска (на основе размера+времени).