1. 程式人生 > >Rsync文件同步服務

Rsync文件同步服務

allow conf mit lis nologin all 支持 als 進程

Rsync簡介

Rsync是一款開源的、快速的、多功能的、可實現全量及增量的本地或遠程數據同步備份的優秀工具,適用於Unix/Linux/Windows等多種操作系統。

Rsync的特性

  1. 支持拷貝特殊文件如鏈接、設備文件
  2. 支持增量同步,傳輸效率較高
  3. 支持使用rcp,rsh,ssh作為隧道進行傳輸
  4. 支持使用守護進程的方式進行傳輸
  5. 支持匿名或認證的方式進行傳輸
  6. 支持保留文件屬性不改變,支持排除指定文件

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文件同步服務