三十五、 rsync工具介绍、rsync常用选项、rsync通过ssh同步
一、rsync工具
数据备份,很重要。
rsync工具:数据备份的工具。remote sync(远程同步)
rsync可以远程同步数据(类似scp),也可以本地同步数据(类似cp)。
不同于cp或scp的是,它不会覆盖以前的数据(当数据已存在),而是先判断已存在的数据和新数据的差异,只有数据不同时才会把不同的部分覆盖。
若没有rsync命令,就yum install -y rsync安装。
# rsync -av /etc/passwd /tmp/1.txt 将/etc/passwd同步到/tmp/目录下,并改名。
若是远程同步,数据备份就是IP:path的形式,比如192.168.188.128:/root/。具体用法:
# rsync -av /etc/passwd root@192.168.93.130:/tmp/1.txt
用户名、IP、文件路径
首次连接会提示时候继续连接,输yes继续。建立连接后,需要输入密码
格式:
rsync [OPTION] ... SRC DEST
rsync [OPTION] ... SRC [USER@]HOST:DEST
rsync [OPTION] ... [USER@]HOST:SRC DEST 远程源目录拷至本地
rsync [OPTION] ... [USER@]HOST::SRC DEST
rsync [OPTION] ... SRC [USER@]HOST::DEST
option:选项
SRC:源目录
DEST:目标目录
若不指定用户,则为当前终端的用户。
hostSRC:远程目录
二、rsync常用选项
-a:归档模式,以递归方式传输文件,并保持所有属性。等同于-rlptgoD。后面可以跟个--no-OPTION,表示关闭-rlptgoD中的某个,比如-a--no-l等于-rptgoD。
-r:同步目录时加上,类似cp时的-r选项。
-v:可视化,打印一些信息,比如文件列表,文件数量。
-l:保留软链接。
-L:同步软链接时会把源文件给同步。
-p:保持文件的权限属性。755,644;拷贝过去还是这个权限。
-o:保持文件的属主。
-g:保持文件的属组。
-D:保持设备文件信息。
-t:保持文件的时间属性。
--delete:删除DST中SRC没有的文件。
--exclude:过滤指定文件,如--exclude=PATTERN,等号后跟文件名。也可以是万用字符模式(如*.txt)。--exclude “logs”会把文件名包含logs的文件或目录过滤掉,不同步。
--progress:表示在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等。同-P。
-P:显示同步过程,比如速率,百分比。比-v详细。
-u:若DEST中的文件比SRC新,则不同步。
-z:在传输过程中压缩。zip的意思。
-e:指定端口。
用法示例:
# rsync -avL test1 test3 加上-L后,小写l就不生效了
# rsync -a test1/ test3/ 备份目录时,要养成加斜杠的习惯
# rsync -avP 123 dir3 传输速度,进程都会列出来。
sending incremental file list
123/
123/1.txt
25 100% 0.00kB/s 0:00:00 (xfer#1, to-check=4/6)
123/2.txt
46 100% 44.92kB/s 0:00:00 (xfer#2, to-check=3/6)
123/3.txt
76 100% 74.22kB/s 0:00:00 (xfer#3, to-check=2/6)
123/678
0 100% 0.00kB/s 0:00:00 (xfer#4, to-check=1/6)
123/567/
sent 451 bytes received 96 bytes 1094.00 bytes/sec
total size is 147 speedup is 0.27
三、rsync通过ssh同步
# rsync -av /etc/passwd 192.168.93.130:/tmp/1.txt 本地同步至远程,推文件
# rsync -av 192.168.93.130:/tmp/1.txt /tmp/2.txt 远程同步至本地,拉文件
一个冒号就属于通过ssh方式备份数据。
远程的对方机器也需要安装rsync工具才能使用。
# rsync -avP -e "ssh -p 22" /etc/passwd 192.168.93.130:/tmp/1.txt
当对方不是22端口时,可用-e指定连接对方的某个端口