Если вы не используете --remove-source-files
, то rsync
никогда ничего не изменит в источнике (и даже в этом случае он удалит исходные файлы только после подтверждения того, что в месте назначения есть точная копия ). Следовательно, изменения, которые вы записываете в место назначения, должны влиять на источник каким-то другим образом.
Пожалуйста, дважды -проверьте, что с помощью user@host:destination:
вы случайно не перезаписываете исходный файл. Другими словами, убедитесь, что этот хост не является вашим клиентом, а также что этот хост не использует ту же файловую систему, что и ваш клиент (, например. с NFS или Samba ). Вы можете проверить это следующим образом:
Локальная система, в том же каталоге, что и в вашем примере, заменив source_dir
соответствующим образом
touch source_dir/620014.tmp
ls -ld source_dir/620014.tmp
Удаленная система, заменяя source_dir
и destination
соответствующим образом. (Если ваша команда rsync
на самом деле имеет source_dir/
, а не source_dir
, тогда команда не должна включать source_dir
в свой путь.)
ssh -nq user@host ls -ld destination/source_dir/620014.tmp
Если вы получаете один и тот же файл, две системы используют одну и ту же файловую систему, и ваш rsync
не является ни необходимым, ни подходящим.