Linux文件同步工具 — rsync
- 安装 yum install -y rsync
- rsync -va /etc/passwd /tmp/1.txt # 把/etc/passwd同步拷贝到/tmp/1.txt
- rsync -va /tmp/1.txt root@192.168.77.129:/tmp/2.txt rsync # 把/tmp/1.txt文件同步到192.168.77.129的/tmp下,并命名为2.txt
常见选项
-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,可视化同步的过程
-l 保留软连接
-L 像对待常规文件一样处理软连接。如果是SRC中有软连接文件,则加上该选项后,将会把软连接指向的目标文件复制到DST
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持设备文件信息
-t 保持文件时间信息
--delete 删除DST中SRC没有的文件
--exclude=PATTERN 指定排除不需要传输的文件,等号后面跟文件名,可以使用通配符(如*.txt)
-P 显示通过过程,比如速率,比-v更详细
-u 表示把DST中比SRC还新的文件排除掉,不会覆盖
-z 传输过程中压缩
[root@test-a ~]# rsync -va test_dir/ /tmp/test_dir
sending incremental file list
./
sent 43 bytes received 19 bytes 124.00 bytes/sec
total size is 0 speedup is 0.00
[root@test-a test_dir]# rsync -vaLP /root/test_dir/ /tmp/test_dir/
sending incremental file list
./
b.txt
0 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/3)
sent 130 bytes received 38 bytes 336.00 bytes/sec
total size is 472 speedup is 2.81
rsync通过ssh方式同步
- rsync -va test1/ 192.168.77.129:/tmp/test2/
- rsync -va -e "ssh -p 22" test1/ 192.168.77.129:/tmp/test2/