加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:29:01 所属栏目:Linux 来源:网络整理
导读:比较两个目录结构和删除目标位置中无关文件和目录的最佳方法是什么? 我有一个我正在开发的小型网络照片库应用程序.用户添加使用FTP删除图像.我编写的网络库软件动态创建了新的缩略图,但它不处理删除.我想做的是安排命令/ bash脚本以预定义的间隔处理这个问
比较两个目录结构和删除目标位置中无关文件和目录的最佳方法是什么?

我有一个我正在开发的小型网络照片库应用程序.用户添加&使用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命令.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读