1、什麼是rsync
2、rsync的功能特性
3、編譯安裝rsync軟件
4、rsync的應用模式
5、rsync 藉助ssh通道技術案例
6、企業案例一:搭建遠程容災備份系統
練習一推送文件方式同步並排除指定的目錄和文件
練習二測試主機之間數據徹底同步(無差別同步)
練習三rsync多目錄多模塊同步
配置防火牆容許rsync服務
附加一:rsync服務端部署流程回顧
附加二:rsync自我模擬排錯思路及實戰
附加三rsync生產排錯整理個人FAQ
inotify介紹
企業應用案例:利用rsync+inotify搭建實時同步系統。-------------------------------------
Rsync服務器配置,安裝、配置、實例以及原理詳解。
5.3.6 企業應用案例:利用rsync+inotify搭建實時同步系統
===================rsync 簡介=======================
1、什麼是rsync
rsync簡介、傳統的數據備份方式有cp命令和wget命令
cp命令是源文件和目標文件都在本地。
該命令僅實現對文件的一種完整複製,若是要複製的數據量巨大,那麼備份的時間就會變得很長,
wget命令經過網絡進行備份,它不支持增量備份,每次都須要將全部的數據從新在網絡上傳輸一遍,
而不考慮哪些文件是更新過來,所以該命令的效率比較點。
咱們今天就介紹一個款實用的工具rsync,
藉助於這個工具能輕鬆實現數據的本地鏡像和遠程備份。
什麼是rsync
rsync是linux 系統下的文件同步和數據傳輸工具,它採用rsync算數。使一個客戶機和遠程文件服務器
之間的文件同步,經過rsync能夠將同一個服務器的數據從一個分區備份到另外一個分區,也能夠將本地系統的數據
通知網絡傳輸方式備份到任何一個遠程主機上;rsync能夠在中斷以後恢復傳輸;rsync只傳輸源文件和目標
文件之間不一致的部分;rsync能夠執行完整備份或增量備份。html
2、rsync的功能特性
rsync即remote sync,從軟件名稱上就能夠看出它所實現的功能,rsync有以下特性:
·能夠鏡像保存整個目錄樹和文件系統。
·能夠增量同步數據,文件傳輸效率高,於是同步時間很短。
·能夠保持原有文件的權限、時間等屬性。
·加密傳輸數據,保證了數據的安全性。
·可使用rcp、ssh等方式來傳輸文件,固然也能夠直接經過socket鏈接傳輸文件。
支持匿名傳輸。
-v 告訴rsync詳細說明正在發生什麼
-a 告訴rsync從源目錄 複製全部文件和目錄
-z 告訴rsync壓縮數據以使網絡傳輸更快(在進入線纜前咱們的數據將被加密和壓縮)
-e ssh 告訴rsync使用咱們的SSH shell來執行網絡傳輸,你能夠經過設置RSYNC_RSH shell環境變量來避免每次輸入rsync命令時都須要加上這個參數,參考rsync的man手冊得到詳細信息。
--delete 告訴rsync刪除備用服務器上文件,若是它們在主服務器已經不存在的話(這個選項不會移除任何主或源數據)。
/www/ 這是SSH客戶端上源目錄,它後面帶有斜線,若是你想要rsync複製整個目錄以及它下面的內容,這個斜線就是必需的
10.1.1.2:/www 這是目標ip地址和目標目錄linux
3、編譯安裝rsync軟件
[root@director rsync-3.0.4]# tar zxvf rsync-3.0.4.tar.gz
[root@director rsync-3.0.4]# cd rsync-3.0.4
[root@director rsync-3.0.4]# ./configure
config.status: creating popt/dummy
config.status: creating shconfig
config.status: creating config.h
rsync 3.0.4 configuration successful
[root@director rsync-3.0.4]#
[root@director rsync-3.0.4]# make
[root@director rsync-3.0.4]# make installweb
4、rsync的應用模式
rsync有4種應用模式,第一種是shell應用模式,也叫本地模式,
第二種是遠程shell模式,它是利用ssh執行底層鏈接和加密傳輸;
第三種是查詢模式,與ls命令實現的功能相似。
第四種是服務器模式,平時所說的搭建rsync服務器就是指這種模式。
一、本地shell模式
本地shell主要用於複製制定目錄到另外一個目錄,例如:
[root@director src]# rsync -av rsync-3.0.4 /tmp
------------省略--------------
rsync-3.0.4/zlib/zlib.h
rsync-3.0.4/zlib/zutil.c
rsync-3.0.4/zlib/zutil.h
rsync-3.0.4/zlib/zutil.o
sent 5472930 bytes received 5190 bytes 10956240.00 bytes/sec
[root@director src]# rsync -av rsync-3.0.4/ /tmp
sent 5472780 bytes received 5189 bytes 10955938.00 bytes/sec
total size is 5454825 speedup is 1.00
[root@director src]#
rsync -av rsync-3.0.4 /tmp和rsync -av rsync-3.0.4/ /tmp 兩個命令是有點差距的。
明顯差距就是源參數末尾的斜槓,若是源參數的末尾沒有斜槓,就將指定的源目錄複製到制定的目錄;
若是源參數末尾有斜槓,就會複製制定源目錄中的內容到目錄中。
命令中:「-a」 即爲「--archive」(歸檔模式),表示以遞歸方式傳輸文件,並保持全部文件屬性;
「-v」即爲「--verbose」 表示輸出詳細模式信息。
啓動rsync服務
以守護進程方式啓動rsync服務:
rsync --daemon #-----daemon表示以守護進程的方式啓動rsync服務
拓展:rsync的進程參數選項:
--daemon #-----daemon表示以守護進程的方式啓動rsync服務
--addrss #-----綁定指定ip地址提供服務。
--config=FILE #---更改配置文件路徑,而不是默認的/etc/rsyncd.conf
--prot=PORT #---更改其它端口號提供服務,而不是默認的873端口。
提示:以上幾個選項爲了解內容,生產場景使用的很少。
操做過程
#rsync --daemon
lsof -i tcp:873
===================rsync 藉助ssh通道技術案例=======================
#rsync -avzP /etc/hosts -e "ssh -p30000" lianglab@192.168.1.110:/tmp/
意思:把本地/etc/hosts文件推送到遠端ip爲192.168.110tmp目錄下,SSH端口號爲30000
#rsync -avzP -e "ssh -p30000" lianglab@192.168.1.110:/tmp/hosts .
意思:從遠端的ip把這個文件拉到本地來。
咱們解釋一下拉取案例的語法:
rsync -avzP -e "ssh -p 22" lianglab@192.168.1.110:/opt /tmp
說明:
一、-avz至關於-vzrtopgD1,表示同步時文件和目錄屬性不變。
二、-P顯示同步的過程,能夠用--progress替換。
三、-e "ssh -p 22" 表示經過ssh的通道傳輸數據,-p 22可省略。
四、lianglab@192.168.1.110:/opt 遠程的主機系統用戶,地址,路徑
五、/tmp本地的路徑。
實例:經過root用戶從192。168.1.110的opt目錄(包含目錄自己)把數據拉到本地的/tmp目錄。
推送案例:
raync -vzrtopP -e "ssh -p 22" /etc lianglab@192.168.1.110:/tmp
實例:經過root用戶把本地的/tmp目錄(不包括目錄自己)推送到192.168.1.100的/opt目錄。
#rsync -vzrtopP -e 'ssh -p 22' /tmp root@192.168.1.100:/opt
#和拉取的例子幾乎同樣,只是把源和目的調換一下便可。
password:輸入鏈接主機密碼便可。
特別說明:
1上文的數據同步都是經過加密傳輸,由於經過了ssh通道進行傳輸,
二、在傳輸前須要進行鏈接用戶(通常爲系統用戶)密碼驗證,須要手工輸入密碼,這裏咱們藉助前面章節的ssh
key 密鑰免登錄驗證的方式來實現,無交互驗證數據傳輸。
三、rsync軟件必須安裝在本地及遠程全部機器上。
藉助ssh key密鑰實現數據免登錄驗證加密傳輸
說明,若是事先設置了ssh key密鑰免登錄驗證,便可以用rsync 經過ssh方式免登錄驗證同步傳輸數據,
這是生產場景經常使用的方法之一。
配置ssh key密鑰實現數據免登錄驗證。
使用ssh通道批量傳輸數據腳本
vi lianglab.sh
#!/bin/sh
./etc/init.d/functions
if [$# -ne 1];then
echo "Usage:$0 argv"
exit
fi
for ip in 17 18
do
#scp -P30000 $1 lianglab@192.168.1.$ip:~ >&/dev/null&&\
#ssh -p30000 -t lianglab@192.168.1.$ip sudo rsync ~/$1 /etc >&/dev/null
rsync -avzP $1 -e "ssh -p 30000" lianglab@192.168.1.$ip:~ >&/dev/null
ssh -p30000 -t lianglab@192.168.1.$ip sudo rsync ~/$1 /etc >&/dev/null
if [ $? -eq 0 ];then
action "liang $1 successful." /bin/true
else
action "liang $1 failure." /bin/false
fi
done
===================rsync 藉助ssh通道技術案例=======================
===================企業案例一:搭建遠程容災備份系統 =======================
實戰練習:
某公司有一臺web服務器,裏面的數據很重要,可是若是硬盤壞了,數據就會丟失,如今領導要求你把數據在其餘機器上作
一個週期性定時備份。要求以下:
天天晚上00點整在web服務器A上打包備份網站程序目錄並經過rsync命令推送到服務器B上備份保留(備份思路能夠是先在本地按日期
打包,而後在推到備份服務器上)
具體操做以下:
一、web服務器A和備份服務器B的備份目錄必須都爲/backup
二、web服務器站點目錄假定爲(/var/www/html)
定時備份腳本
cd /var/www &&\
tar zcf /backup/192.168.1.110/html_$(date +%F).tar.gz./html &&\
cd /backup/ &&\
rsync -az . rsync_backup@192.168.1.100::backup --password-file=/etc/rsync.password >&/dev/null
find /backup --type f -name "*.gz" -mtime +7|xargs rm -f
部署前的準備工做,三臺機器最佳
A>查看一下系統內核版本
[root@director src]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
[root@director src]# uname -r
2.6.18-164.el5
[root@director src]# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.4 (Tikanga)
Release: 5.4
Codename: Tikanga
[root@director src]#
B>主機網絡參數設置
主機名 網卡eth0 默認網關 用途
A-server 192.168.1.100 192.168.1.254 rsync服務器
B-server 192.168.1.110 192.168.1.254 rsync節點服務器
C-server 192.168.1.120 192.168.1.254 rsync節點服務器
提示:子網掩碼均爲255.255.255.0
具體需求:
要求在A-server上以rsync守護進程的方式部署rsync服務,使得全部rsync節點客戶端主機,
能夠把本地數據經過rsync的方式備份到rsync服務器A-server上。
本例的客戶端爲B-server、C-server。
開始部署rsync------rsync服務器端操做過程:
配置rsyncd.confshell
一、配置rsyncd.conf
首先確認軟件是否安裝:
[root@director src]# rpm -aq rsync 5.5默認版本是2.6
rsync-2.6.8-3.1
[root@c-server ~]# rpm -aq rsync 5.8版本的centos默認安裝是3.0版本
rsync-3.0.6-4.el5_7.1 centos
二、rsync的配置文件爲/etc/rsyncd.conf 在安裝完rsync時,默認沒有這個文件,須要手動創建一個便可,rsyncd.conf文件由一個或多個模塊結構組成,
包括全局參數和模塊參數,配置內容以下:
vi /etc/rsyncd.conf
#rsync_config______start
#created by lianglab 21:55 2013-6-13
#QQ 865362365
#花名:瀚亮
#Blog http://hi.baidu.com/zll56281688 http://zll56281688.blog.51cto.com
## rsyncd.conf start ##
uid = rsync
gid = rsync
use chroot = no
max connections = 100
strict modes = yes
timout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[lianglab]
path = /lianglab
comment = lianglab file
ignore errors
read only = no
write only = no
host allow = *
host deny = 192.168.1.111
list = false
auth users =backup
secrets file = /etc/rsync.password
上面每一個選項解釋:
1##uid此選項指定當該模塊傳輸文件時守護進程應該具備的用戶ID,默認爲nobody。
2##gid此選項指定當該模塊傳輸文件時守護進程應該具備的用戶主ID,默認nobody。
3##use chroot若是爲true 在給客戶端傳輸文件前 「chroot to the path」這是rsync安全配置,由於咱們大多數都是在內網使用,因此不配也能夠。
4##max connections指定模塊的最大併發鏈接數,超過限制的鏈接請求將被暫時限制,默認爲0,沒有限制。
5##strict modes指定是否檢查口令文件的權限,yes爲檢查口令文件權限。若是設置爲yes,密碼文件的權限必須爲root用戶權限。
6##timeout 默認爲0
7##pid file 指定rsync守護進程對應的PID文件路徑
8##lock file指定支持max connections的鎖文件,默認值是/var/run/rsync.lock
9##log file 指定了rsync的日誌輸出文件路徑
10##[lianglab] 表示定義一個模塊的開始,lianglab就是對應的模塊名稱。
11##path此選項用來指定須要備份的文件和目錄,是必須設置的項,
12##ignore errors 表示能夠忽略一些無關的I/O錯誤
13##read only 設置爲no表示客戶端能夠上傳文件,設置爲yes表示只讀
14##write only 設置爲no表示客戶端可下載文件,設置爲yes表示不能下載。
15##host allow設置能夠鏈接rsync服務器的主機,「*」表示容許任何鏈接的主機。
16##host deny 設置禁止鏈接rsync服務器的主機地址。
17##list,選項用來設定當客戶請求可使用的模塊列表時,該模塊是否被列出,默認true
18##auth users 用來定義能夠鏈接該模塊的用戶名,
19## secrets file 此選項用於指定一個包含「用戶名:密碼」格式的文件,用戶名就是auth users選項定義的用戶,密碼能夠隨便指定。安全
三、 dos2unix /etc/rsyncd.conf
[root@rsync ~]# dos2unix /etc/rsyncd.conf
dos2unix: converting file /etc/rsyncd.conf to UNIX format ...
[root@rsync ~]#
四、建立一個對外共享的目錄,咱們要受權lianglab這個目錄的rsync權限,可是咱們本機沒有rsync用戶,咱們如今就要建立rsync這個用戶。useradd rsync -s /sbin/nologin -M ##建立一個rsync用戶,拒絕登陸並無在/home下面建立rsync目錄。
[root@rsync ~]# mkdir -p /lianglab
[root@rsync lianglab]# useradd rsync -s /sbin/nologin -M
[root@rsync lianglab]# chown -R rsync.rsync /lianglab #受權操做
[root@rsync lianglab]#
五、配置用於rsync同步的帳號和密碼以及帳號文件權限。
注意:其中backup:lianglab中的backup爲同步傳輸用到的虛擬帳號,這個帳號僅爲rsync的帳號,不須要是系統帳號,後面的lianglab爲密碼,不超過8位數,帳號和密碼中間用冒號分割。
[root@rsync lianglab]# echo "backup:lianglab" >>/etc/rsync.password
[root@rsync lianglab]# cat /etc/rsync.password
backup:lianglab
[root@rsync lianglab]#
[root@rsync lianglab]# chmod 600 /etc/rsync.password
[root@rsync lianglab]# ll /etc/rsync.password #操做完檢查是一個好習慣
-rw------- 1 root root 16 Jan 24 15:49 /etc/rsync.password
[root@rsync lianglab]#服務器
六、啓動rsync服務
以守護進程方式來啓動rsync服務
rsync --daemon #--daemon 表示以守護進程的方式啓動rsync服務
rsync的進程參數其它選項解釋:
--address #----綁定指定IP地址提供服務
---config-FILE #---更改配置文件路徑,而不是默認的/etc/rsyncd.conf
--port=PORT #---更改其它端口提供服務,而不是默認的873端口
[root@rsync lianglab]# netstat -ant #沒有啓動rsync的時候
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:659 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.100:22 192.168.1.253:49627 ESTABLISHED
tcp 0 1 192.168.1.100:58614 192.168.1.111:21 SYN_SENT
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
[root@rsync lianglab]#
[root@rsync lianglab]# lsof -i :873網絡
---------------------------啓動rsync後的檢查操做--------------------------
[root@rsync lianglab]# rsync --daemon
[root@rsync lianglab]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 544 root 3u IPv6 45811 0t0 TCP *:rsync (LISTEN)
rsync 544 root 5u IPv4 45812 0t0 TCP *:rsync (LISTEN)
[root@rsync lianglab]# netstat -lntup | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 544/rsync
tcp 0 0 :::873 :::* LISTEN 544/rsync
[root@rsync lianglab]# ps -ef | grep rsync
root 544 1 0 16:05 ? 00:00:00 rsync --daemon
root 551 4404 0 16:06 pts/0 00:00:00 grep rsync
[root@rsync lianglab]#併發
七、設置rsync服務開啓自啓動操做
echo "/usr/bin/rsync --daemon" >>/etc/rc.local
注意:固然還能夠用chkconfig rsync on 命令,可是要編寫適合chkconfig操做的腳本。
重啓rsync的命令
pkill rsync #---關閉rsync服務
rsync --daemon #---開啓rsync服務
[root@rsync lianglab]# pkill rsync #---關閉rsync服務
[root@rsync lianglab]# ps -ef | grep rsync
root 570 4404 0 16:14 pts/0 00:00:00 grep rsync
[root@rsync lianglab]# lsof -i :873
[root@rsync lianglab]# netstat -lntup | grep 873
[root@rsync lianglab]#
[root@rsync lianglab]# rsync --daemon #---開啓rsync服務
[root@rsync lianglab]# netstat -lntup | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 575/rsync
tcp 0 0 :::873 :::* LISTEN 575/rsync
[root@rsync lianglab]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 575 root 3u IPv6 46196 0t0 TCP *:rsync (LISTEN)
rsync 575 root 5u IPv4 46197 0t0 TCP *:rsync (LISTEN)
[root@rsync lianglab]# ps -ef | grep rsync
root 575 1 0 16:15 ? 00:00:00 rsync --daemon
root 580 4404 0 16:15 pts/0 00:00:00 grep rsync
[root@rsync lianglab]#
[root@rsync lianglab]# killall rsync #一樣的做用也是殺rsync進程
[root@rsync lianglab]# killall rsync
rsync: no process killed
[root@rsync lianglab]# ps -ef | grep rsync
root 588 4404 0 16:17 pts/0 00:00:00 grep rsync
[root@rsync lianglab]# lsof -i :873
[root@rsync lianglab]# netstat -lntup | grep 873
[root@rsync lianglab]#
解釋:killall有時候殺進程一會兒殺不死,咱們要連續殺,直到出現no process killed爲止。
killall -9 rsync 是強制殺進程。
kill -9 PID
kill和killall -9 這個兩個命令殺進程,若是殺了,有可能這個服務就起不來了。
我遇到過MySQL
[root@rsync lianglab]# kill -9 rsync
[root@rsync lianglab]# rsync --daemon
failed to create pid file /var/run/rsyncd.pid: File exists
[root@rsync lianglab]#
[root@rsync lianglab]# rm -f /var/run/rsyncd.pid #解決方法
[root@rsync lianglab]# rsync --daemon
[root@rsync lianglab]#ssh
開始部署rsync------rsync客戶端操做過程:
一、客戶端建立密碼文件,並修改權限,另一臺也是一樣的操做。
[root@b-server ~]# echo "lianglab">/etc/rsync.password
[root@b-server ~]# chmod 600 /etc/rsync.password
[root@b-server ~]# ll /etc/rsync.password
-rw------- 1 root root 9 Jan 3 10:01 /etc/rsync.password
[root@b-server ~]# cat /etc/rsync.password
lianglab
[root@b-server ~]#
[root@c-server ~]# echo "lianglab">/etc/rsync.password
[root@c-server ~]# chmod 600 /etc/rsync.password
[root@c-server ~]# ll /etc/rsync.password
-rw------- 1 root root 9 Jan 24 16:33 /etc/rsync.password
[root@c-server ~]# cat /etc/rsync.password
lianglab
[root@c-server ~]#
二、開始備份數據篇---------------------------------------------------
操做場景:備份/var/www/html目錄下的文件
備份操做通常都是先打包,在備份,到咱們要備份目錄的上一級目錄中去。
在使用tar命令打包,咱們能夠把它打包到指定的目錄也能夠是當前目錄
[root@b-server html]# ll /var/www/html/
total 4
-rw-r--r-- 1 root root 29 Jan 3 10:08 index.html
[root@b-server html]#
[root@b-server html]# cd /var/www/
[root@b-server www]# ls
cgi-bin error html icons manual usage
[root@b-server www]# tar zcvf html_$(date +%F).tar.gz ./html/
./html/
./html/index.html
[root@b-server www]# ls
cgi-bin error html html_2013-01-03.tar.gz icons manual usage
[root@b-server www]#
---------------------------------------------------------------------------
[root@b-server www]# rsync --avzp html_2013-01-03.tar.gz backup@192.168.1.100::lianglab
rsync: --avzp: unknown option
rsync error: syntax or usage error (code 1) at main.c(1449) [client=3.0.6]
[root@b-server www]#
咱們使用telnet命令檢查一下服務端的端口是否開啓
[root@b-server www]# telnet 192.168.1.100 873
Trying 192.168.1.100...
telnet: connect to address 192.168.1.100: Connection refused
telnet: Unable to connect to remote host: Connection refused
[root@b-server www]# telnet 192.168.1.100 873
Trying 192.168.1.100...
Connected to 192.168.1.100 (192.168.1.100).
Escape character is '^]'.
@RSYNCD: 30.0
^]
telnet> qiu^H^H^[[3~^H^H^[[3~
?Invalid command
telnet> quit
Connection closed.
[root@b-server www]#
[root@b-server www]# rsync -avzp html_2013-01-03.tar.gz backup@192.168.1.100::lianglab
Password: #每次都要輸入密碼比較煩人,咱們能夠指定一下咱們以前設置的密碼文件,就不須要輸入密碼了。
sending incremental file list
html_2013-01-03.tar.gz
sent 270 bytes received 27 bytes 66.00 bytes/sec
total size is 183 speedup is 0.62
[root@b-server www]#
[root@b-server www]# rsync -avzp html_2013-01-03.tar.gz backup@192.168.1.100::lianglab --password-file=/etc/rsync.password
sending incremental file list
sent 43 bytes received 8 bytes 102.00 bytes/sec
total size is 183 speedup is 3.59
[root@b-server www]#
咱們在到rsync服務器上查看一下,文件已經被同步過來了。
[root@rsync lianglab]# ll
total 4
-rw-r--r-- 1 rsync rsync 183 Jan 3 10:12 html_2013-01-03.tar.gz
[root@rsync lianglab]#
更換一種方式推送一下文件,首先要到rsync服務端,刪除已經推送過來的文件
[root@rsync lianglab]# rm html_2013-01-03.tar.gz
rm: remove regular file `html_2013-01-03.tar.gz'? y
[root@rsync lianglab]#
[root@b-server www]# rsync -avzp html_2013-01-03.tar.gz rsync://backup@192.168.1.100/lianglab --password-file=/etc/rsync.password
sending incremental file list
html_2013-01-03.tar.gz
sent 270 bytes received 27 bytes 594.00 bytes/sec
total size is 183 speedup is 0.62
[root@b-server www]#
[root@rsync lianglab]# ll
total 4
-rw-r--r-- 1 rsync rsync 183 Jan 3 10:12 html_2013-01-03.tar.gz
咱們在測試一下能不能推送到tmp目錄,是不行滴。
[root@b-server www]# rsync -avzp html_2013-01-03.tar.gz rsync://backup@192.168.1.100/tmp --password-file=/etc/rsync.password
@ERROR: Unknown module 'tmp'
rsync error: error starting client-server protocol (code 5) at main.c(1530) [sender=3.0.6]
[root@b-server www]#
咱們是能夠往服務端lianglab這個目錄下子目錄推送的,可是必定要給目錄受權的。
[root@rsync lianglab]# mkdir test
[root@rsync lianglab]# chown rsync test
[root@b-server www]# rsync -avzp html_2013-01-03.tar.gz rsync://backup@192.168.1.100/lianglab/test --password-file=/etc/rsync.password
sending incremental file list
html_2013-01-03.tar.gz
sent 270 bytes received 27 bytes 594.00 bytes/sec
total size is 183 speedup is 0.62
[root@b-server www]#
[root@rsync lianglab]# cd test/
[root@rsync test]# ll
total 4
-rw-r--r-- 1 rsync rsync 183 Jan 3 10:12 html_2013-01-03.tar.gz
[root@rsync test]#
查看詳細生成時間。
[root@rsync test]# ll /back/ --time-style=long-iso
[root@rsync test]# ll /back/ --time-style=full-iso
==============================================
參考文獻:老男孩51CTO視頻教程http://edu.51cto.com/course/course_id-875.html
南非螞蟻《高性能Linux服務器構建實戰》一書