linux下的文件同步工具 rsync
rsync是非常实用的一个同步工具,可以从a机器到b机器传输一个文件,也可以备份数据,系统默认没有这个工具,要使用命令 yum install -y rsync 安装。
rsync的命令格式
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
举例:
第一种格式
上面例子表示把/etc.passwd拷贝到/tmp/目录下,更改目标文件的名字为1.txt。相当于cp 命令。
第二种格式把本机的文件拷贝到其他机器上去,只要用户名后加IP,再加冒号,最后跟文件的根路径。
首次连接会提示是否要继续连接,我们输入yes继续,当建立连接后,需要输入密码。
第三种格式是把其他机器的文件同步到本机上面
rsync常用选项
-a :相当于-rlptgoD 选项, -a选项后面可以跟一个 --no- 这个表示关闭-rlptgoD中的某一个例如 等同于-rptgoD
-r :传输的是目录选项
-v 打印一些信息出来,比如速率,文件数量等
-l(小写L): 保留软链接
-L:加上这个选项后,同步软链接时会把源文件给同步
-p: 保持文件权限
-o :保持文件属主信息
-g :保持文件属组信息
-D :保持设备文件信息
-t :保持文件时间信息
--delete:删除DST中SRC没有的文件
--exclude : 过滤掉指定的文件,比如--exclude “logs” 会把文件名里包含logs的文件和目录过滤掉
-P(大写):在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等
-u :加上这个选项后将会把DEST中比SRC还新的文件排除掉,不会覆盖
-z:传输时压缩
rsync选项使用实列
先要创建一个目录/root/111/ ,然后在这个目录里创建一些文件来做实验
1)同步目录使用-a选项
目录后面要加斜杠
加了-L选项,会把-l的含义覆盖,
-P 同步时显示一些文件传输速度等信息
--exclude 过滤掉不想同步的文件
--delete
-u选项
rsync 通过ssh的方式同步
可以用rsync将文件或目录同步到另一台机器上去,但要两台机器都安装了rsync。命令格式第二种和第三种属于通过ssh的方式备份数据。
远程同步时 可以使用 -e 选项在后面输入 "ssh -p 22" 指定对方的端口,
使用 ssh 命令 可以登录其他主机,使用exit命令退出。