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
原文出處:https://www.cnblogs.com/hilfloser/p/10517788.htmlhtml