10.28 rsysnc工具介绍
1、文件同步工具rsync
rsync不像cp/scp一样会覆盖以前的数据(如果数据已经存在),它会先判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉,若系统无rsync命令,则使用命令yum install -y rsync安装相应的包,进行远程同步时远程机和本地机必须都装有rsync工具
- rsync -av /etc/passwd /tmp/1.txt #本机内同步
- rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt
2、rsync格式
- rsync [OPTION] … SRC DEST #SRC:源目录, DEST:目标目录
- rsync [OPTION] … SRC [user@]host:DEST #方括号内容可省略,不指定用户则默认为当前用户
- rsync [OPTION] … [user@]host:SRC DEST #远程机器同步到本地机器
- rsync [OPTION] … SRC [user@]host::DEST
- rsync [OPTION] … [user@]host::SRC DEST
- -a #归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD, -a选项后面可以跟一个 --no-OPTION 这个表示关闭-rlptgoD中的某一个,例如 -a--no-l 等同于-rptgoD
- -r #对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项, 同步目录时,源和目的目录的路径最后均要加“/”
- -v #打印一些信息出来,比如速率,文件数量等
- -l #保留软链接同步,若远程同步,此时同步到的机器中不存在软链接所指向的目标文件,那么同步过来的软链接文件实际上失效
- -L #向对待常规文件一样处理软链接,如果是SRC中有软连接文件,则加上该选项后将会把软链接指向的目标文件拷贝到DST,"L"和"a"同时出现,"L"选项的作用会覆盖掉"a"中的"l"
- -p #保持文件权限
- -o #保持文件属主信息,若同步的机器没有对应的属主,则显示原机器的属主UID,若同步后的机器存在UID但对应一个不同的属主名,则显示该属主名
- -g #保持文件属组信息
- -D #保持设备文件信息
- -t #保持文件时间信息(mtime,ctime)
- --delete #删除那些DST中SRC没有的文件
- --exclude #指定排除不需要同步的文件,等号后面跟文件名,可以是万用字符模式(如“*.txt”),支持多个“--exclude”
- -P #显示同步过程,比如速率,比-v更加详细
- -u #表示会把DST中比SRC还新的文件排除掉,不会覆盖
- -z #传输时压缩
1、rsync通过ssh方式同步
- rsync -av test1/f1.txt 192.168.133.132:/tmp/f2.txt #推文件,本机文件同步到远程机器
- rsync -av 192.168.133.132:/tmp/f2.txt/ /root/test1/f1.txt #拉文件 ,远程机器文件同步到本机
- rsync -av -e "ssh -p 22" test1/ 192.168.133.132:/tmp/test2/ #指定对方机器的ssh端口为22
- ssh -p 22 [IP] #以ssh方式登录远程机器
2、rsync 通过服务的方式同步
- 要编辑配置文件/etc/rsyncd.conf
- 启动服务rsync --daemon
- 格式:rsync -av test1/ 192.168.133.130::module/dir/