一、rsync命令简介
rsync(remote synchronized) 是一个常用的 Linux 应用程序,用于文件同步。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。
rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动),也就是说,它实际上是“增量同步”的
rsync需要同步的两台计算机都安装rsync,安装命令
yum install rsync
二、rsync用法
rsync options source target
举例用法:
rsync --password-file=/root/data-backup/rsync.pass -avzh --delete /root/data-backup/ root@192.168.3.12::data/backup
上面这是将本地的/root/data-backup/
文件夹同步到远端的 data/backup
文件夹的命令。
1、-r
-r
表示递归,即包含子目录。注意,-r
是必须的,否则 rsync 运行不会成功。
如果有多个文件或目录需要同步,可以写成下面这样。
rsync -r source1 source2 target
2、-a
-a
参数可以替代-r
,除了可以递归同步以外,还可以同步元信息(比如修改时间、权限等)。由于 rsync 默认使用文件大小和修改时间决定文件是否需要更新,所以-a
比-r
更有用。下面的用法才是常见的写法。
rsync -a source target
注意命令rsync -a source target
和rsync -a source/ target
是不同的,前者是复制source
文件夹本身到target
目录,最后形成的目录结构是 target/source
;而后者则是将source
文件夹中的所有文件复制到了target
目录。
3、-v
也就是--verbose
,在传输的过程中展示冗余信息到屏幕上,也就是“传输细节”
4、-z
也就是 --compress
,将数据压缩后传输,可以减小带宽压力。
5、-h
也就是--human-readable
使用人类可读的方式展示文件信息。很多命令是相通的,比如ll -h
命令可以展示文件的大小信息自动显示为MB或者GB信息。
6、--delete
该命令会比较本地和远端的文件,删除在本地不存在的远端文件,这样可以确保远端的文件夹内容是本地的镜像。
7、--password-file
默认rsync命令每次执行的时候都需要输入密码,为了解决这个问题,可以新建个文件rsync.pass
,将密码贴进去,然后使用命令chmod 600 rsync.pass
设置下文件权限,然后在执行命令的时候这样设置
--password-file rsync.pass
就可以避免手动输入密码了。
更多命令可以在linux控制台输入rsync
命令查看。
三、参考文档
https://www.ruanyifeng.com/blog/2020/08/rsync.html
https://blog.csdn.net/weixin_44052462/article/details/120523600
注意:本文归作者所有,未经作者允许,不得转载