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命令.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...