rsync同步同一台服务器下的不同文件夹
需求是讲seafile目录下的数据 同步到oss bucket 挂载的路径下。实现同步和备份
安装
yum install -y rsync
添加crontab
# seafile同步rsync
00 03 * * * rsync -atv /services/seafile /seafile-back-oss/ > /tmp/rsync.log
查看直接运行的输出日志 同步成功
常用参数
-z:传输时进行压缩提高效率
-v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息
-P:显示文件传输的进度信息
-a --archive:归档模式,表示递归传输并保持文件属性,等同于"-rtopgDl"
-r --recursive:以递归模式拷贝目录
-R --relative:使用相对路径
-l --links:如果文件是软链接,则拷贝软链接本身而非软链接所指向的文件
-L --copy-links:如果文件是软链接,拷贝软链接指向的文件
-W --whole-file:拷贝文件时不进行增量检测
-t --times:保持 mtime 属性
rsync 默认用"quick check"算法决定哪些文件需要增量传输。此算法只比较文件的大小和 mtime,即使其它属性不同也会认为它们是完全相同的文件,从而不需要增量传输
建议任何时候都加上"-t",否则目标文件 mtime 会设置为系统时间,导致下次更新检查出 mtime 不同而导致增量传输无效
参考
https://www.cnblogs.com/jhxxb/p/10603065.html