rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
PORT:873
-v 详细模式输出 -a 归档模式,递归的方式传输文件,并保持文件的属性,equals -rlptgoD
-e 指定要执行的远程shell命令
-R 保留相对路径
对应于以上六种命令格式,rsync有六种不同的工作模式:
1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src
3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@172.16.78.192::www /databack
5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@172.16.78.192::www
6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://172.16.78.192/www
//同步方式一: [root@review1 ~]# rsync -va /root/dir1 /root/dir2
。。
。。
。。
[root@review1 ~]# ls dir2 dir1 //同步dir1到dir2中成功
rsync -avR root@192.168.226.128:/root/testdir /root/
//方式二: [root@review1 ~]# rsync -va /root/dir1/ /root/dir2
。。
。。
。
。
[root@review1 ~]# ls dir2 dir1 file1 file2 file3 file4 file5
//远程服务
将本地(192.168.221.129)
/root/dir1 文件同步到远端(192.168.226.128)/root/dir中:
rsync -av /root/dir1 root@192.168.226.128:/root/dir/ //同步的命令
//另一种写法
rsync -ave 'ssh -lroot' /root/dir 192.168.226.128:/root/
//将远程数据
/root/dir同步到本地/root中:
rsync -av root@192.168.226.128:/root/dir /root
复制和同步的区别
rsync 并不是单纯的复制文件,它主要功能是进行文件同步!
rsync是一个同步命令(服务),它不仅可以用来复制、备份,最大的作用在于同步,即保持两端一直,所以远端文件被删除后,
同步后,本地文件也可以删除。
rsync也可以作为服务运行
做好配置后,启动xinetd服务,·
service xinetd restart
netstat -ntpl |grep 873
rsync -a 192.168.221.128:://查看远端服务器192.168.221.128共享文件
cat /etc/rsyncd.conf//检查192.168.221.128的共享文件
若要把本地文件同步到远程主机上,需要更改主配置文件
要想远程同步需要注意三点:①rsync权限:共享文件夹必须设为可读②共享文件夹权限设为755③uid和gid设为root
rsync -av /root/dir/ root@192.168.221.128::share