linux – 使用rsync只删除无关的文件

前端之家收集整理的这篇文章主要介绍了linux – 使用rsync只删除无关的文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
比较两个目录结构和删除目标位置中无关文件和目录的最佳方法是什么?

我有一个我正在开发的小型网络照片库应用程序.用户添加&使用FTP删除图像.我编写的网络库软件动态创建了新的缩略图,但它不处理删除.我想做的是安排命令/ bash脚本以预定义的间隔处理这个问题.

原始图像存储在/ home / gallery / images /中,并使用子目录以相册形式组织.缩略图缓存在/ home / gallery / thumbs /中,使用与images目录相同的目录结构和文件名.

我尝试使用以下方法来实现此目的:

rsync  -r --delete --ignore-existing /home/gallery/images /home/gallery/thumbs

如果所有缩略图都已被缓存,它将正常工作,但不能保证会出现这种情况,当发生这种情况时,拇指目录将原始的全尺寸图像复制到它.

我怎样才能最好地实现我想做的事情?

解决方法

我不认为rsync是最好的方法.我会像下面这样使用bash单行程:
$cd /home/gallery/thumbs && find . -type f | while read file;do if [ ! -f "../images/$file" ];then echo "$file";fi;done

如果这个单行生成正确的文件列表,则可以修改它以运行rm命令而不是echo命令.

猜你在找的Linux相关文章