Rsync文件同步服務
阿新 • • 發佈:2017-09-13
allow conf mit lis nologin all 支持 als 進程
Rsync簡介
Rsync是一款開源的、快速的、多功能的、可實現全量及增量的本地或遠程數據同步備份的優秀工具,適用於Unix/Linux/Windows等多種操作系統。
Rsync的特性
- 支持拷貝特殊文件如鏈接、設備文件
- 支持增量同步,傳輸效率較高
- 支持使用rcp,rsh,ssh作為隧道進行傳輸
- 支持使用守護進程的方式進行傳輸
- 支持匿名或認證的方式進行傳輸
- 支持保留文件屬性不改變,支持排除指定文件
Rsync數據備份架構
Rsync常用參數
-v 顯示過程 -z 壓縮方式傳輸 -a 歸檔模式,等於-rtopgDL -r 目錄遞歸 -t 保持時間信息 -o 保持所有者 -p 保持權限 -g 保持所屬組
-P 顯示過程以及斷點續傳 -D 保持設備文件信息 -L 保持軟連接 -e 使用的信道協議 --exclude 指定排除文件 --bwlimit 限速 --delete 無差別同步
本地傳輸
rsync -avz /etc/hosts /tmp/ #區別:/tmp 和 /tmp/ ,前者傳目錄本身和文件,後者只傳目錄下的文件 [[email protected] ~]# rsync -avz /tmp /mnt/ [[email protected] ~]# ls /mnt Tmp [[email protected] ~]# rsync -avz /tmp/ /mnt/ [[email protected] ~]# ls /mnt hosts
通過遠程shell通道傳輸
rsync -avz /etc/hosts -e "ssh -p 22" [email protected]:/mnt
通過守護進程進行傳輸
rpm -qa | grep rsync vim /etc/rsyncd.conf uid = rsync #客戶端進行數據傳輸時所使用的用戶 gid = rsync #客戶端進行數據傳輸時所使用的用戶組 user chroot = no #安全相關 max connections = 200 #最大連接數 timeout = 300 #超時時間,客戶端連接後300s不傳輸自動斷開 pid file = /var/run/rsyncd.pid #進程號文件 lock file = /var/run/rsync.lock #鎖文件 log file = /var/log/rsyncd.log #日誌文件 ignore errors #忽略錯誤 read only = false #可寫 list = false #客戶端不能ls等進行列表 hosts allow = 172.16.1.0/24 #允許連接的主機 #hosts deny = 0.0.0.0/32 #拒絕的主機 auth users = rsync_backup #客戶端登錄賬號名 secrets file = /etc/rsync.password #密碼文件,用於驗證 [backup] #模塊名稱 path = /backup/ #提供訪問的目錄 useradd rsync -s /sbin/nologin –M mkdir /backup chown rsync.rsync /backup vim /etc/rsync.password rsync_backup:peterwang chmod 600 /etc/rsync.password rsync --daemon ps -ef | grep rsync | grep -v grep lsof -i :873 echo "/usr/bin/rsync --daemon" >> /etc/rc.local
客戶端配置
mkdir /backup vim /etc/rsync.password peterwang chmod 600 /etc/rsync.password
傳輸測試
cd /backup/ touch stu{001..100} rsync -avz /backup/ [email protected]::backup/ --password-file=/etc/rsync.password rsync -avz [email protected]::backup/ /backup/ --password-file=/etc/rsync.password
Rsync文件同步服務