10.28 rsync工具介绍

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

语法:
rsync几种不同的格式:

rsync [OPTION] … 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

注: src表示源文件,dest表示目的文件

10.29 rsync常用选项(上)

rsync常用选项

-a 包含-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的属组
-D 保持设备文件信息
-t 保持文件的时间属性
--delete 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果DEST中的文件比SRC新,则不同步
-z 传输时压缩

10.30 rsync常用选项(下)

  • 同步本地文件

    [root@centos-01~]# rsync -av /root/111/ /tmp/111_dest/
    把root下的111文件同步到tmp下并改名为111_dest

  • 将本地机器的内容拷贝到远程机器

    [root@centos-01~]# rsync -av /etc/passwd root@192.168.8.129:/tmp/11.txt

注: 进行远程同步的时候,远程机和本地机必须都安装有rsync工具才可以。

  • 将本地机器的内容拷贝到远程机器,当端口不一致时:

[root@centos-01~] # rsync -av -e "ssh -p 22" /etc/passwd root@192.168.8.129:/tmp/11.txt

  • 将远程机器的内容拷贝到本地机器。

    [root@centos-01~]# rsync -av root@192.168.8.129:/etc/passwd /tmp/22.txt

10.31 rsync通过ssh同步

rsync通过ssh方式同步
rsync -av test1/ 192.168.133.132:/tmp/test2/
rsync -av -e "ssh -p 22" test1/ 192.168.133.132:/tmp/test2/
rsync 通过服务的方式同步
要编辑配置文件/etc/rsyncd.conf
启动服务rsync --daemon
格式:rsync -av test1/ 192.168.133.130::module/dir/