天下事有難易乎,爲之,則難者亦易矣;不爲,則易者亦難矣!人之爲學有難易乎,學之,則難者亦易矣;不學則易者亦難矣!
rsync的安裝很簡單,配置好yum源後,yum install rsync 即可,查看用 rpm -qa|grep rsync
rsync的三個參數 -v詳細模式輸出,傳輸時的進度等信息;
-z傳輸時進行壓縮以提高傳輸效率;
-a 歸檔模式
1、本地shell模式
本地shell模式主要用於複製指定目錄到另一個目錄,例如:
rsync -avz /root/yum /tmp
2、遠程shell模式
通過遠程shell模式,rsync把可以指定的本地目錄複製到另一個系統中,例如:
push rsync -avz /root/yum -e 'ssh -p 22' [email protected]:~
pull rsync -avz -e 'ssh -p 22' [email protected]:~/yum /etc/
3、服務器模式
這種模式是基於C/S模式的,就是用客戶端備份服務器端,也可以向服務端傳輸數據
1、服務器首先建立rsync的配置文件爲/etc/rsyncd.conf,配置內容爲:
{
uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[guo] //對應的模塊名稱
path = /webdata //需要備份的文件或目錄
comment = guo file
ignore errors
read only = no
write only = no
hosts allow = *
hosts deny = 192.168.12.131
list = false
uid = root
gid = root
auth users = backup //用來定義可以連接該模塊的用戶名
secrets file = /etc/server.pass //用於指定一個包含“用戶名:密碼”格式的文件:
}
echo “backup:guo”>>/etc/server.pass
cat /etc/server.pass
chmod 600 /etc/server.pass
啓動服務器上的rsync守護進程:
which rsync rsync --daemon
查看是否啓用: netstat -tunlp|grep 873
ps -ef |grep rsync
lsof -i tcp:873
2、客戶端上不用做任何設置,只需要執行rsync同步操作即可,爲了在同步過程中不用輸入密碼,需要在客戶機上創建一個secrets file,裏面的密碼只要與服務器裏面的密碼一致即可。
例如:
rsync -avzp html_2014-04-03.tar.gz [email protected]::guo --password-file=/etc/server.pass
rsync -avzp [email protected]::guo /tmp --password-file=/etc/server.pass
以上配置完成加入定時任務即可自動完成客戶端主機備份服務器主機裏面的某個目錄。
小結:哎,想着這個配置在腦海中容易,當寫出來時才發現寫的很理想中的差別巨大啊,由此可知,別人寫一本書讓那麼多人看也殊爲不易!