[rsync實現(xiàn)網(wǎng)站的備份,文件的同步,差異系統(tǒng)的文件的同步,假如是windows的話,需要windows版本cwrsync]
一、什么是rsync
rsync,remote synchronize顧名思意就知道它是一款實現(xiàn)長途同步成果的軟件,它在同步文件的同時,可以保持本來文件的權(quán)限、時間、軟硬鏈接等附加信息。 rsync是用 “rsync 算法”提供了一個客戶機和長途文件處事器的文件同步的快速要領(lǐng),并且可以通過ssh方法來傳輸文件,這樣其保密性也很是好,別的它照舊免費的軟件。
rsync 包羅如下的一些特性:
能更新整個目次和樹和文件系統(tǒng);
有選擇性的保持標記鏈鏈、硬鏈接、文件屬于、權(quán)限、設(shè)備以實時間等;
對付安裝來說,無任何非凡權(quán)限要求;
對付多個文件來說,內(nèi)部流水線淘汰文件期待的延時;
能用rsh、ssh 或直接端口做為傳輸入端口;
支持匿名rsync 同步文件,是抱負的鏡像東西;
二、架設(shè)rsync處事器
架設(shè)rsync 處事器較量簡樸,寫一個設(shè)置文件rsyncd.conf 。文件的書寫也是有法則的,我們可以參照rsync.samba.org 上的文檔來做。雖然我們首先要安裝好rsync這個軟件才行;
A、rsync的安裝;
獲取rsync
rysnc的官方網(wǎng)站:http://rsync.samba.org/可以從上面獲得最新的版本。今朝最新版是3.05。雖然,因為rsync是一款如此有用的軟件,所以許多Linux的刊行版本都將它收錄在內(nèi)了。
軟件包安裝
# sudo apt-get install rsync
注:在debian、ubuntu 等在線安裝要領(lǐng);
# yum install rsync 注:Fedora、Redhat
等在線安裝要領(lǐng);
# rpm -ivh rsync
注:Fedora、Redhat 等rpm包安裝要領(lǐng);
其它Linux刊行版,請用相應(yīng)的軟件包攬理要領(lǐng)來安裝。
源碼包安裝
tar xvf rsync-xxx.tar.gz
cd rsync-xxx
./configure --prefix=/usr ;make ;make install
注:在用源碼包編譯安裝之前,您得安裝gcc等編譯開具才行;
B、設(shè)置文件
rsync的主要有以下三個設(shè)置文件rsyncd.conf(主設(shè)置文件)、rsyncd.secrets(暗碼文件)、rsyncd.motd(rysnc處事器信息)
處事器設(shè)置文件(/etc/rsyncd.conf),該文件默認不存在,請建設(shè)它。
詳細步調(diào)如下:
#touch /etc/rsyncd.conf
#建設(shè)rsyncd.conf,這是rsync處事器的設(shè)置文件。
#touch /etc/rsyncd.secrets #建設(shè)rsyncd.secrets ,這是用戶暗碼文件。
#chmod 600 /etc/rsyncd/rsyncd.secrets
#將rsyncd.secrets這個暗碼文件的文件屬性設(shè)為root擁有, 且權(quán)限要設(shè)為600, 不然無法備份樂成!
#touch /etc/rsyncd.motd
下一就是我們修改rsyncd.conf和rsyncd.secrets和rsyncd.motd文件的時候了。
設(shè)定/etc/rsyncd.conf
rsyncd.conf是rsync處事器主要設(shè)置文件。我們先來個簡樸的示例,后頭在具體說明各項浸染。
好比我們要備份處事器上的/home和/opt,在/home中我想把easylife和samba目次解除在外;
# Distributed under the terms of the GNU General Public
License v2
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help
# This line is required by the /etc/init.d/rsyncd script
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.1.171
#uid = nobody
#gid = nobody
uid = root
gid = root
use chroot = yes
read only = yes
#limit access to private LANs
hosts allow=192.168.1.0/255.255.255.0
10.0.1.0/255.255.255.0
hosts deny=*
max connections = 5
motd file = /etc/rsyncd.motd
#This will give you a separate log file
#log file = /var/log/rsync.log
#This will log every file transferred - up to 85,000+ per
user, per sync
#transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[rhel4home]
path = /home
list=yes
ignore errors
auth users = root
secrets file = /etc/rsyncd.secrets
comment = This is RHEL 4 data
exclude = easylife/
samba/
[rhel4opt]
path = /opt
list=no
ignore errors
comment = This is RHEL 4 opt
auth users = easylife
secrets file = /etc/rsyncd/rsyncd.secrets
注:關(guān)于auth users是必需在處事器上存在的真實的系統(tǒng)用戶,假如你想用多個用戶以,號離隔,好比auth users = easylife,root
設(shè)定暗碼文件
暗碼文件名目很簡樸,rsyncd.secrets的內(nèi)容名目為:
用戶名:暗碼
我們在例子中rsyncd.secrets的內(nèi)容如下雷同的;在文檔中說,有些系統(tǒng)不支持長暗碼,本身實驗著配置一下吧。
easylife:keer
root:mike
chown root.root rsyncd.secrets #修改屬主
chmod 600 rsyncd.secrets #修改權(quán)限