配置分析 Rsync 異地同步

搭建的服務:rsync

需求:

  1. 服務端的 /mnt/rsync 文件夾內容同步到客戶端的 /mnt/rsync 文件夾內容, 時間爲1小時同步一次。
  2. 服務端的 /data/rsync 文件夾內容同步到客戶端的 /data/rsync 文件夾內容, 時間爲實時同步。

架構圖

在這裏插入圖片描述

搭建 rsync(在服務器 192.168.10.204操作)

yum 安裝 rsync 版本:rsync-3.1.2-4

yum install -y rsync
1、配置 rsync 配置文件(解析只需要修改的部分,不修改不做解析)
 	uid = nobody
    gid = nobody
    use chroot = no    //是否使用chroot
    strict modes = false        
    read only = false    //是否爲只讀
    log file = /var/log/rsyncd.log    //日誌文件位置
    pid file = /var/run/rsyncd.pid    //存檔進程ID的文件位置
    port = 873    //監聽端口
    max connections = 4    //最大連接數

    [mnt]    //共享模塊名稱
    path = /mnt/rsync    //源目錄的實際路徑        
    auth users = rosen    //授權賬戶
    secrets file = /etc/rsyncd.scrt    //存放賬戶信息的數據文件
    dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2    //同步時不再壓縮的文件類型
    
    [data]
    path = /data/rsync
    auth users = rosen
    secrets file = /etc/rsyncd.scrt
    dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
2、建立賬號文件,修改權限
# vim /etc/rsyncd.scrt
rosen:rosen123
# chmod 600 /etc/rsync.scrt

注:另一臺服務器 192.168.10.246 安裝啓動就好,不用修改配置
添加賬號文件/etc/rsyncd.scrt 直接寫密碼即可

# vim /etc/rsyncd.scrt
rosen123
3、兩臺 rsync 啓動服務
# service rsyncd start
# netstat -ntlp (端口號 873)

在服務端建立文件夾和文件測試觀察效果
# mkdir /mnt/rsync    
# chmod 777 /mnt/rsync/
# touch {1..9}.txt /mnt/rsync

# mkdir /data/rsync    
# chmod 777 /data/rsync/
# touch {1..9}.sql /data/rsync
4、連接同步(以下 4 和 5 的操作都在服務器 192.168.10.246 上實現)
# rsync -az --delete --password-file=/etc/rsyncd.scrt [email protected]::mnt  /mnt/rsync/
# rsync -az --delete --password-file=/etc/rsyncd.scrt [email protected]::data  /data/rsync/
5、加入到 crontab -e 中定時同步數據
# crontab -e
* 1/* * * * rsync -az --delete --password-file=/etc/rsyncd.scrt [email protected]::mnt /mnt/rsync/   每1小時同步一次
* * * * * rsync -az --delete --password-file=/etc/rsyncd.scrt [email protected]::data /data/rsync/        每秒鐘同步一次
用法如下:
    下行:rsync […] user@host:遠程目錄  本地目錄
    上行:rsync […] 本地目錄 user@host:遠程目錄

語法解釋
-a 同步,歸檔模式,相當於-rpltgoD(-r遞歸,包括目錄/子目錄及所有文件。-l 保留符號鏈接文件。 -p 、-t 保留文件的權限、時間標記。 -o 、-g 保留文件的屬主?屬組標記。 -D 保留設備文件及其他特殊文件)
-v 可以看到操作細節
-n 測試同步操作,不做實際修改
-z 是壓縮傳輸,-r 是recursive
-u 是隻同步已經更新的文件,避免沒有更新的文件被重複更新一次,不過要注意兩者機器的時鐘的同步。
–progress是指顯示出詳細的進度情況
–delete是指如果服務器端刪除了這一文件,那麼客戶端也相應把文件刪除,保持真正的一致
–password-file=/etc/rsyncd.scrt 來指定密碼文件,無需交互式地輸入驗證密碼,注意的是這份密碼文件權限屬性要設得只有屬主可讀

rsync -a /boot /todir //同步整個文件夾
rsync -a /boot/ /todir/ //只同步目錄下的數據

用法一:手動輸入密碼交互方式共享資源同步到本地

rsync -az <用戶名>@ip::<共享目錄>/  /opt

用法二:自動交互式

rsync -az --delete --password-file=/etc/rsyncd.scrt <用戶>@IP::<遠端目錄> /<本地目錄>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章