用途 :使用"rsync 演算法", 提供一個非常快速的檔案傳輸方法, 使 local 和遠端二部主機之間的檔案達到"同步",它主要是傳送二個檔案的異動部份, 而非每次都整份傳送, 因此速度相當地快。兩端的檔案會保持相同,若需要壓縮備份,可以於同步完成後使用 tar+gzip 的功能。
維護 :rsync.samba.org 維護。
服務模式:可以搭配 rsh 或 ssh 與 daemon 模式。
備份模式:
1.單機中的文件複製;當SRC和DES路徑設定都不包含有單個冒號”:”分隔符時就啟動這種工作模式。
2.使用一個遠程shell程序(如rsh、ssh)將本地機器的內容複製到遠端機器。 當DST路徑地址包含單個冒號”:”分隔符時啟動該模式。
3.使用一個遠程shell程序(如rsh、ssh)將遠端機器的內容複製到本地機器。 當SRC地址路徑包含單個冒號”:”分隔符時啟動該模式。
4.從遠端rsync服務器中複製文件到本地端機器。當SRC路徑設定包含”::”分隔符時啟動該模式。
5.從本地機器複製文件到遠端rsync服務器中。當DST路徑設定包含”::”分隔符時啟動該模式。
6.顯示遠端主機的文件列表。這類似於rsync傳輸,只要在命令中省略掉來源端設定即可。
通訊埠 :873
作業程序:
1.讓一台主機跑 rsync daemon 模式, 我們就稱這台機器為 rsync Server。 ===> 設定檔案 /etc/xinetd.d/rsync
2.在server端建立備份的參數檔案,rsync會自動套用。 ===>設定檔案 /etc/rsyncd.conf ,/etc/rsyncd.secrets -> chown root.root rsyncd.secrets , chmod 600 rsyncd.secrets
3.當client端連線時,後透過port 873 連接 rsync server 。 ===>設定檔案 /root/rsyncd.secrets -> chown root.root rsyncd.secrets , chmod 600 rsyncd.secrets
4.檢查密碼。
5.進行兩邊文件核對比較,將差異的部分進行傳遞。
下載點 :rsync.samba.org
tar的安裝:./configure && make && make install ---> 執行檔的路徑: /usr/local/bin/rsync
rpm的安裝:rpm -ivh ***.rpm 或 rpm -Uvh ***.rpm ---> 執行檔的路徑: /usr/bin/rsync 用 rpm -qa|grep rsync 可以看到安裝的rpm
1.啟動 daemon
如下:
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
2.設定參數檔
如下:
log file = /var/log/rsyncd.log
[mch1]
path = /bk/server/mch1_backup
auth users = mch1_backup
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
[mch2]
path = /bk/server/mch2_backup
auth users = mch2_backup
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
說明:
log file :指定紀錄檔位置
[mch1][mch2] :mch1 mch2 各表示一個同步設定,可以允許多組,只要用[]表示區隔
path :指定可以被使用於同步的存放路徑
auth users :指定連線的帳號,跟系統帳號無關,可以自定
uid gid :指定連線帳號要套用的uid gid
secrets file :指定連線帳號所用的密碼檔位置
read only :設定為 no表示允許寫入
3.設定密碼檔
如下:
mch1_backup:00001
mch2_backup:00002
說明:
格式為 帳號:密碼 --> auth users:password
1.設定密碼檔
如下:
00001
說明:
只要輸入於備份指令下達時,對應使用於主機端設定之帳號的密碼,此例假設用 mch1的設定,對應到user為 mch1_backup,所以密碼為00001
說明:若要使用單機測試,則單機中必須完成 '伺服器設定' 及 '連線端設定'
<<RPM安裝>> ...參數下達不同,但是功能相同,因為 a 代表了 rlptgoD
<<TAR安裝>>
說明:
/usr/bin/rsync or /usr/local/bin/rsync :rsync程式所在
-rvlHpogDtS or -avSH :同步參數
--password-file :client端的密碼檔所在
/usr/local/apache :要被同步的目錄,會在同步的目錄下建立一個apache的資料夾
/usr/local/apache/ :要被同步的目錄,不會在同步的目錄下建立一個apache的資料夾,直接同步apache目錄下的文件
mch1_backup :連線伺服器使用的帳號
@127.0.0.1:: :表示要連接到遠端ip為127.0.0.1的伺服器
mch1 :使用mch1這一個同步設定參數
置入工作排程, 假設每天凌晨 5 點開始備份:
0 5 * * * /usr/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /usr/local/apache mch1_bakup@127.0.0.1::mch1