Rsync同步神器

Rsync清理大批量垃圾数据

在Linux下删除海量文件的情况,需要删除数十万个文件。这个是之前的程序写的日志,增长很快,而且没什么用。这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长。所以必须要采取一些非常手段。我们可以使用rsync的--delete-before参数来实现快速删除大量文件。

1)建立一个空的文件夹:
mkdir /tmp/test
2)用rsync删除目标目录:
rsync --delete-before -a -H -v --progress --stats /tmp/test/ log/
这样我们要删除的log目录就会被清空了,删除的速度会非常快。rsync实际上用的是替换原理,处理数十万个文件也是秒删。

选项说明:
--delete-before 接收者在传输之前进行删除操作
--progress 在传输时显示传输过程
--a 归档模式,表示以递归方式传输文件,并保持所有文件属性
--H 保持硬连接的文件
--v 详细输出模式
--stats 给出某些文件的传输状态

3) 将dirA的所有文件同步到dirB内,并删除dirB内多余的文件(目录结构需要保持一致 :#源目录和目标目录结构一定要一致!!不能是dirA/* dirB/  或者dirA/ dirB/*  或者 dirA/* dirB/* )

   rsync -avz --delete  dirA/     dirB/

posted @ 2019-02-21 11:45  Done、  阅读(497)  评论(0编辑  收藏  举报