rsync部署使用

rsync部署使用

業務描述

現有A、B、C....N臺主機。實現對A機器上path_A目錄的指定文件進行備份,備份到B、C、D...
等機器的path_X路徑。現使用rsync實現文件的拷貝,A爲服務端,其餘機器爲客戶端,客戶端執行定時
任務將文件拉取到本地。
    經過rsync能夠結合crontab實現按時自動備份,在遠程自動同步的場景下,rsync 須要以守護進
程的方式來運行。
    客戶端和服務端都要安裝rsync,安裝完後有些系統不會生成rsyncd.conf,須要本身建立在
/etc/rsync.d/rsyncd.conf

Server端安裝

  • 安裝與文件建立:
rpm -qa rsync                         // 檢查是否安裝了rsync
    yum install rsync -y
    mkdir -p /etc/rsync.d
    touch /etc/rsync.d/rsyncd.conf        // rsync服務端配置文件
    touch /etc/rsync.d/rsyncd.pass        // 客戶端拉取文件時使用的用戶密碼
    chmod 600 /etc/rsync.d/rsync.conf     
    chmod 600 /etc/rsync.d/rsync.pass

  • 編輯rsyncd.pass文件:
vim /etc/rsync.d/rsyncd.conf

    log file=/var/log/rsyncd.log
    pid file=/var/run/rsyncd.pid
    lock file=/var/run/rsyncd.lock
    uid=root
    gid=root
    max connections=5
    hosts allow=10.10.11.21/10.10.11.22
    hosts deny=*
    secrets file = /etc/rsync.d/rsyncd.pass
    read only = yes
    use chroot = yes
    ignore errors = yes
    list = true
    #write only = no

    [nipt]
    path=/zonghe/sharedisk/sharedisk/word/niptword/
    comment= this is lab nipt rpt sync
    exclude= 2016 2017 2018/01 2018/02 2018/03 2018/04 2018/05
    auth users=rsync

    [niptplus]
    path=/zonghe/sharedisk/sharedisk/plus
    comment= this is lab niptplus rpt sync
    exclude= 2016 2017 2018/01 2018/02 2018/03 2018/04 2018/05 FACT images old TEMP template template.rar
    auth users=rsync

  • 編輯rsyncd.pass文件:
vim /etc/rsync.d/rsyncd.pass

    # 用戶名密碼自定義
    rsync:rsync

  • 守護進程的方式啓動rsync:
rsync --daemon --config=/etc/rsync.d/rsyncd.conf

至此,服務端安裝啓動完畢。

Client端安裝

  • 安裝與文件建立:
rpm -qa rsync                         // 檢查是否安裝了rsync
    yum install rsync -y
    mkdir -p /etc/rsync.d
    touch /etc/rsync.d/rsync.pass
    touch /etc/rsync.d/include.list    
    chmod 600 /etc/rsync.d/rsync.pass

  • 編輯rsyncd.pass文件:
vim /etc/rsync.d/rsyncd.pass
    # 配置密碼便可,調用命令中指定用戶名

    rsync
  • 編輯include.list文件:
vim /etc/rsync.d/rsyncd.pass
    # 配置了只想同步哪些文件或目錄,這裏配置的是隻同步pdf文件

    + */
    + *.pdf
    - *

調用腳本

  • 客戶端執行:
mkdir -p /usr/local/test_rsync

    rsync -avzP ––include-from=/etc/rsync.d/include.list rsync@10.11.11.11::nipt /usr/local/test_rsync/nipt --password-file=/etc/rsync.d/rsyncd.pass
    
    rsync -avzP ––include-from=/etc/rsync.d/include.list rsync@10.11.11.11::niptplus /usr/local/test_rsync/niptplus --password-file=/etc/rsync.d/rsyncd.pass

加入crontab

crontab -e

*/1 * * * * rsync -av ––include-from=/etc/rsync.d/include.list rsync@10.100.11.33::nipt /usr/local/test_rsync/nipt --password-file=/etc/rsync.d/rsyncd.pass
*/1 * * * * rsync -av ––include-from=/etc/rsync.d/include.list rsync@10.100.11.33::niptplus /usr/local/test_rsync/niptplus --password-file=/etc/rsync.d/rsyncd.pass

rsync服務端關閉啓動命令

ps -ef | grep rsync
kill -9 pid
rm -f /var/run/rsyncd.pid
rsync --daemon --config=/etc/rsync.d/rsyncd.conf

配置文件與客戶端命令參考:

相關文章
相關標籤/搜索