rsync的安裝配置

大雄45發表於2022-06-20
簡介

rsync(remote sync)是類unix系統下的資料映象備份工具。它的特性如下:

  1. 可以映象儲存整個目錄樹和檔案系統。
  2. 可以很容易做到保持原來檔案的許可權、時間、軟硬連結等等。
  3. 無須特殊許可權即可安裝。
  4. 快速:第一次同步時 rsync 會複製全部內容,但在下一次只傳輸修改過的檔案。rsync 在傳輸資料的過程中可以實行壓縮及解壓縮操作,因此可以使用更少的頻寬。
  5. 安全:可以使用scp、ssh等方式來傳輸檔案,當然也可以透過直接的socket連線。
  6. 支援匿名傳輸,以方便進行網站鏡象。
安裝

在RedHat中,rsync是預設安裝的。可透過 行檢查是否安裝

[root@linuxprobe ~]# rpm -q rsync
rsync-3.0.4-2.47.28
配置rsync server

1.  修改rsync的配置檔案,將disable從"yes"改成"no"

[root@linuxprobe ~]# vi /etc/xinetd.d/rsync
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

設定開機啟動RSYNC

[root@linuxprobe ~]# chkconfig rsync on

2.  配置/etc/rsyncd.conf(需要手動生成)

全域性引數

uid = root           //執行RSYNC守護程式的使用者gid = root                //執行RSYNC守護程式的組use chroot = no           //不使用chrootmax connections = 4       // 最大連線數為4strict modes =yes         //是否檢查口令檔案的許可權port = 873                //預設埠873

模組引數

[backup]       //這裡是認證的模組名,在client端需要指定path = /home/backup/     //需要做映象的目錄,不可缺少!comment = This is a test      //這個模組的註釋資訊ignore errors        //可以忽略一些無關的IO錯誤read only = yes       // 只讀list = no        //不允許列檔案auth users = linuxprobe        //認證的使用者名稱,如果沒有這行則表明是匿名,此使用者與系統無關secrets file = /etc/rsync.pas        //密碼和使用者名稱對比表,密碼檔案自己生成hosts allow = 192.168.1.1,10.10.10.10        //允許主機hosts deny = 0.0.0.0/0       //禁止主機#transfer logging = yes註釋:下面這些檔案是安裝完RSYNC服務後自動生成的檔案pid file = /var/run/rsyncd.pid     //pid檔案的存放位置lock file = /var/run/rsync.lock    //鎖檔案的存放位置log file = /var/log/rsyncd.log     //日誌記錄檔案的存放位置

3.  配置rsync密碼

(1) 建立密碼檔案(檔案即上述配置檔案中的secrets file = /etc/rsync.pas)

[root@linuxprobe ~]# vim /etc/rsync.pas
linuxprobe:password  //賬號:密碼,一行一個使用者

(2) 修改密碼檔案的許可權為600

[root@linuxprobe ~]# chown root.root /etc/rsync.pas 
[root@linuxprobe ~]# chmod 600 /etc/rsync.pas

4.  設定歡迎資訊/etc/rsyncd.motd(可有可無)
rsyncd.motd記錄了rsync服務的歡迎資訊,你可以在其中輸入任何文字資訊,如:

[root@linuxprobe ~]# vim /etc/rsyncd.motd
Welcome to use the rsync services!

5.  生效配置

[root@linuxprobe ~]# service xinetd restart
啟動rsync server

1. RSYNC服務端啟動的兩種方法
(1) 啟動rsync服務端(獨立啟動)

[root@linuxprobe ~]#/usr/bin/rsync –daemon

(2) 啟動rsync服務端 (有xinetd超級程式啟動)

[root@linuxprobe ~]# /etc/rc.d/init.d/xinetd reload

2. 加入rc.local

在各種作業系統中,rc檔案存放位置不盡相同,可以修改使系統啟動時把rsync --daemon載入進去。

[root@linuxprobe ~]# vim /etc/rc.local
加入一行/usr/bin/rsync --daemon

3. 檢查rsync是否啟動

若輸出顯示state為LISTEN,表示為等待接受連結的狀態,說明rsync已經啟動。

[root@linuxprobe ~]# netstat -a | grep rsync
   tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN
配置rsync client

1. 設定密碼

[root@linuxprobe ~]# vim /etc/rsync.pas password

修改許可權

[root@linuxprobe ~]# chown root.root /etc/rsync.pas
[root@linuxprobe ~]# chmod 600 /etc/rsync.pas

2. client連線SERVER

從SERVER端取檔案

/usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas

向SERVER端上傳檔案

/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas  /home/backup linuxprobe@192.168.0.217::backup

這個 將把本地機器/home/backup目錄下的所有檔案(含子目錄)全部備份到RSYNC SERVER(172.20.0.6)的backup模組的設定的備份目錄下。
請注意如果路徑結束後面帶有"/",表示備份該目錄下的東東,但不會建立該目錄,如不帶"/"則建立該目錄。

RSYNC用法:

rsync [OPTION]... [USER@]HOST::SRC  [DEST]              #從RSYNC SERVER備份檔案到本地機器
rsync [OPTION]... SRC [SRC]...      [USER@]HOST::DEST   #從本地機器備份檔案到RSYNC SERVER

3. 自動執行

1) 製作 檔案

[root@linuxprobe ~]# vim /usr/local/rsync/time.sh
[root@linuxprobe ~]# !/bin/bash
/usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas

2) 編輯crontab

[root@linuxprobe ~]# crontab -e
55 * * * * /usr/local/rsync/time.sh //每55分執行一次time.sh指令碼檔案
防火牆設定

如果伺服器上裝有防火牆,需在伺服器中設定iptables將837埠開放。

[root@linuxprobe ~]# iptables -A INPUT -p tcp --dport 873 -j ACCEPT

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2901555/,如需轉載,請註明出處,否則將追究法律責任。

相關文章