我终止了本地“rsync -ah”进程。
它在目标目录中留下了“.abc.vmdk.zxivMN”等垃圾文件。
连续运行“rsync -ah”时,垃圾文件不会被删除。
详细信息:
我对正在同步的两个文件夹运行了 diff,并报告:“仅在 /mnt/archive1/documents/general:.abc.vmdk.zxivMN”
清理临时 rsync 文件的最佳方法是什么?
答案1
使用或指示rsync
删除源上不存在的文件。请小心,仅当目标上没有源上不存在的合法文件时才使用此选项。--delete-during
--delete-after
看man rsync
。
当然,您可以随时手动删除检测到的文件diff
...
答案2
我用
find -type f -iname ".*.*.??????" -ls
用于测试和
find -type f -iname ".*.*.??????" -delete
为了明确
答案3
当我尝试删除传输失败后 rsync 留下的临时文件时,我发现以下命令对我有用。
find vod-content/ -path '*/.*' -print0 | xargs -0 -r rm -v
它的作用是找到所有“隐藏”文件(以“。”字符开头的文件)并将它们传递给“rm”命令以删除它们。
显而易见已知问题关于上面的代码,如果您的内容包含隐藏文件,那么此命令也会删除这些文件。
答案4
我正在寻找更好的解决方案,但我能想到的唯一解决方案是将所有empty
以 开头.
并包含两个点的文件移动到垃圾文件夹(使用rm
有点冒险):
find -type f -empty -iname ".*.*.*" | xargs -n 1 -d'\n' mv -v -t /tmp/
但这并不意味着万无一失。