由于要保持目标和源一致,使用了--delete参数,但是现在发现删除失效了。查看了同步的日志,由于如下错误造成删除中止。
file has vanished: "/news/2009-02-16/388082.shtml"
IO error encountered -- skipping file
deletion
shell进到这个目录下ls能补全出这个文件名字,但是显示的时候不存在,报错找不到这个文件。
最后重新复制一个同名文件出来,rsync才恢复了删除模式。
最后学到的经验是:给rsync加上 --ignore-errors
参数
--existing
skip creating new files on receiver
--ignore-existing
skip updating files that exist on
receiver
--remove-source-files sender
removes synchronized files (non-dir)
--del
an alias for --delete-during
--delete
delete extraneous files from dest dirs
--delete-before
receiver deletes before transfer (default)
--delete-during
receiver deletes during xfer, not before
--delete-delay
find deletions during, delete after
--delete-after
receiver deletes after transfer, not before
--delete-excluded
also delete excluded files from dest dirs
--ignore-errors