rsync同步(删除源中不存在的目录和文件)

使用rsync 删除目标目录中比源目录多出的文件,可以借助 --delete 参数来实现。

rsync -avz --delete-delay/path/to/source/ /path/to/target/

命令解释:

rsync: 调用 rsync 命令。

-a: 保留文件属性(如权限、时间戳等),进行归档模式同步。

-v: 详细输出(verbose),显示同步过程的详细信息。

-z: 通过压缩提高传输效率,对于网络同步特别有用。

--delete-delay: 这是关键参数,指示 rsync 在同步完成后批量删除目标目录中所有不在源目录中的文件和目录。

实例:

目标目录是之前同步的仓库源包,源目录是最新才同步的仓库源包,通过下面命令可以把/mnt/仓库源2023/服务/v10sp2/ks10sp2-updates/ks10sp2-updates/Packages/更新到和源目录一致,且删除源目录中不存在的目录和包

rsync -avz --delete-delay /var/www/html/packages/x86_64/v10sp2-x86/ks10-adv-updates/Packages/ /mnt/仓库源2023/服务/v10sp2/ks10sp2-updates/ks10sp2-updates/Packages/

备注:源和目标路径最后必现加/,不然同步异常

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容