Rsync+Inotify及Sersync

Rsync的工作方式

  1. 單個主機本地之間的數據傳輸(此時類似於cp命令的功能)。

  2. 藉助rcp,ssh等同到來傳輸數據(此時類似於scp命令的功能)。

  3. 以守護進程(socket)的方式傳輸數據(這個是rsync自身的重要的功能)。

Rsync 常用參數 -avz或者-vzrtopg

-v 詳細模式輸出,傳輸時的進度等信息

-z 傳輸時進行壓縮以提高傳輸效率,--compress-level=NUM 可按級別壓縮

-a 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rtopgDl.

    -r 對子目錄以遞歸模式

    -t 保持文件時間信息

    -o 保持文件屬主信息

    -p 保持文件權限

    -g 保持文件屬組信息

    -P 顯示同步的過程及傳輸時的進度等信息

    -D 保持設備文件信息

    -l 保留軟鏈接

-e 指定通道

--exclude=PATTERN       exclude files matching PATTERN

--exclude-from=FILE     read exclude patterns from FILE

  1. cp -a /etc/hosts /tmp/
    rsync -avz /etc/hosts /tmp/
    rsync --delete /null/ tmp/
  2. 推送scp /etc/hosts ***@********:/tmp/
    推送rsync -avz -e 'ssh ' /etc/hosts ***@********:/tmp/
    拉取scp ***@********:/etc/hosts /tmp/
    拉取rsync -avz -e 'ssh ' ***@********:/etc/hosts /tmp/
  3. 守護進程方式備份拓撲

    wKioL1W6IwyR7f6QAAD_giILwBM784.jpg


    服務端:

    創建配置文件/etc/rsyncd.conf

    #rsyncd_config start

    uid = rsync

    gid = rsync

    use chroot = no

    max connections = 200

    timeout = 300

    pid file = /var/run/rsyncd.pid #進程號保存地址

    lock file = /var/run/rsyncd.lock#鎖(上廁所)

    log file = /var/log/rsyncd.log

    [Boris]

    path = /Boris/

    ignore errors

    read only = false

    list = false

    hosts allow = 10.0.0.0/24

    hosts deny = 0.0.0.0/32

    auth users = rsync_backup

    secrets file = /etc/rsync.password

    #rsync_config end

    默認端口是873

mkdir /Boris
useradd rsync -s /sbin/nologin
chown -R rsync.rsync /Boris
echo "rsync_backup:Boris" > /etc/rsync.password
chmod 600 /etc/rsync.password

    關閉Selinux,iptables

    啓動

rsync --daemon


    客戶端:

echo "Boris" > /etc/rsync.password#客戶端secrets文件只有密碼
chmod 600 /etc/rsync.password

拉:

1.rsync -avz rsync_backup@*****::Boris /data --password-file=/etc/rsync.password #密碼爲虛擬用戶密碼
2.rsync -avz rsync://rsync_backup@*****/Boris /data --password-file=/etc/rsync.password

推:

1.rsync -avz /data/ rsync_backup@*****::Boris --password-file=/etc/rsync.password #密碼爲虛擬用戶密碼
2.rsync -avz /data/ rsync://rsync_backup@*****//Boris --password-file=/etc/rsync.password

重啓rsync

pkill rsync #關閉rsync服務
kill `cat /var/run/rsyncd.pid`
rsync --daemon #啓動rsync服務
ps -ef | grep rsync #檢測rsync服務

日誌檢查

cat /var/log/rsyncd.log

排除文件:

客戶端排:

--exclude=**

--exclude-from=FILE

排除單個:

rsync -avz --exclude=a /data/ rsync_backup@*****::Boris --password-file=/etc/rsync.password

排除多個:

rsync -avz --exclude={a,b} /data/ rsync_backup@*****::Boris --password-file=/etc/rsync.password

服務端:

vim /etc/rsyncd.conf

加入 exclude = a b c/d

無差異備份:風險較大

--delete

多模塊:

    創建配置文件/etc/rsyncd.conf

    #rsyncd_config start

    uid = rsync

    gid = rsync

    use chroot = no

    max connections = 200

    timeout = 300

    pid file = /var/run/rsyncd.pid #進程號保存地址

    lock file = /var/run/rsyncd.lock#鎖(上廁所)

    log file = /var/log/rsyncd.log

    ignore errors

    read only = false

    list = false

    hosts allow = 10.0.0.0/24

    hosts deny = 0.0.0.0/32

    auth users = rsync_backup

    secrets file = /etc/rsync.password

    [Boris]

    path = /Boris/

    [data]

    path = /data/

    #rsync_config end


Inotify的工作方式:

由inotify監控變化從而調用rsync同步數據。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章