在對rsync服務器配置結束以后,下一步就需要在客戶端發出rsync命令來實現將服務器端的文件備份到客戶端來。rsync是一個功能非常強大的工具,其命令也有很多功能特色選項。
1. rsync特性
支持拷貝特殊文件如鏈接文件、設備等
可以有排除指定文件或目錄同步的功能,相當于tar的排除功能
可以做到保持原文件或目錄的權限、時間、軟硬鏈接、屬主、組等所有屬性均不改變-p
可以實現增量同步,即指同步發生變化的數據,因此數據傳輸效率很高,tar -N
可以使用rcp,rsh,ssh等方式來配合傳輸文件(rsync本身不對數據加密)
可以通過socket(進程方式)傳輸文件和數據(服務端和客戶端)*****。
支持匿名的或認證(無須系統用戶)的進程模式傳輸,可實現方便安全的進行數據備份及鏡像
2. Rsync的命令格式可以為以下六種:
rsync[OPTION]...SRCDEST
rsync[OPTION]...SRC[USER@]HOST:DEST
rsync[OPTION]...[USER@]HOST:SRCDEST
rsync[OPTION]...[USER@]HOST::SRCDEST
rsync[OPTION]...SRC[USER@]HOST::DEST
rsync[OPTION]...rsync://[USER@]HOST[:PORT]/SRC[DEST]
對應于以上六種命令格式,rsync有六種不同的工作模式:
拷貝本地文件。當SRC和DES路徑信息都不包含有單個冒號”:”分隔符時就啟動這種工作模式。如:rsync -a /data /backup
使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號”:”分隔符時啟動該模式。如:rsync -avz *.c foo:src
使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號”:”分隔符時啟動該模式。如:rsync -avz foo:src/bar /data
從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含”::”分隔符時啟動該模式。如:rsync -av [email protected]::www /databack
從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含”::”分隔符時啟動該模式。如:rsync -av /databack [email protected]::www
列遠程機的文件列表。這類似于rsync傳輸,不過只要在命令中省略掉本地機信息即可。如:rsync -v rsync://172.16.78.192/www
3. rsync三種模式
1、Local:rsync[OPTION...]SRC...[DEST]
2、Accessviaremoteshell:
Pull:rsync[OPTION...][USER@]HOST:SRC...[DEST]
Push:rsync[OPTION...]SRC...[USER@]HOST:DEST
3、Accessviarsyncdaemon:
Pull:rsync[OPTION...][USER@]HOST::SRC...[DEST]
rsync[OPTION...]rsync://[USER@]HOST[:PORT]/SRC...[DEST]
Push:rsync[OPTION...]SRC...[USER@]HOST::DEST
rsync[OPTION...]SRC...rsync://[USER@]HOST[:PORT]/DEST
4. rsync 常用參數選項
5. 服務端配置文件
[root@localhost/]#cat/usr/local/rsync/rsyncd.conf
uid=root
gid=root
usechroot=no
maxconnections=5
strictmodes=yes
port=8888
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsync.lock
logfile=/var/log/rsyncd.log
[backup]
path=/tmp/test/
comment=Thisisatest
ignoreerrors
readonly=false
list=no
#hostsallow=0.0.0.0
authusers=rsync
secretsfile=/etc/rsyncd/rsyncd.secrets
[root@localhost/]#cat/etc/rsyncd/rsyncd.secrets
rsync:fswl1234
6. 從linux備份到win本地
從linux的/rsyncbak目錄到windows的D: syncbak
cdC:ProgramFilescwRsyncin
rsync--port=8888-vzrtopg--progress--timeout600--deletersync@172.16.5.215::backup/cygdrive/d/rsyncbak
記得授權
7. 從win本地傳輸到linux
從windows的D: syncbak傳linux的/rsyncbak
cdC:ProgramFilescwRsyncin
rsync--port=8888-vzrtopg--progress--timeout600--delete/cygdrive/d/[email protected]::backup