環境:
1台rsync備份服務器,IP:10.0.0.188
1台rsync備份客戶端,IP:10.0.0.51
備份數據需注意:
1. 在業務低谷時間進行備份
2. 進行備份限速
一、搭建rsync備份服務器
1. 查看rsyncd服務配置幫助文件(可忽略)
man rsyncd.conf
2. 查看rsync安裝包,如無則安裝
rpm -qa | grep "rsync" yum install rsync -y
3. 添加rsync服務的用戶,管理本地目錄的
useradd rsync -s /sbin/nologin -M id rsync
4. 創建並配置/etc/rsyncd.conf配置文件

cat >>/etc/rsyncd.conf<<EOF ##rsync.config____________start #created by Caiyun 20190411 ################ rsyncd.conf start ################### # 用戶 遠端的命令要使用rsync訪問共享目錄 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 # ======================================================================================== # 備份模塊名稱 [backup] # 服務器端提供訪問的目錄 path = /backup # 忽略錯誤 ignore errors # 可寫 read only = false # 不能列表,如ls等功能 list = false # 允許ip # hosts allow = 172.16.1.0/24 # 禁止ip(一般和allow二選一) # hosts deny = 0.0.0.0/32 # 服務虛擬用戶 auth user = rsync_backup # 密碼文件 secrets file = /etc/rsync.password ##rsync.config______________end EOF
5. 根據rsyncd.conf的auth users配置賬戶和secrets file參數生成rsync.password密碼文件,密碼文件基於系統明文所以要限制其權限
echo "rsync_backup:123456" >>/etc/rsync.password cat /etc/rsync.password chmod 600 /etc/rsync.password ls -l /etc/rsync.password
6. 創建共享的目錄並授權rsync服務管理
mkdir /backup -p chown rsync.rsync -R /backup ls -ld /backup/
7. 啟動rsync服務並檢查啟動成功與否
rsync --daemon ps -ef|grep rsync lsof -i :873 netstat -lntup|grep 873
8. 加入開機自啟動
cat >>/etc/rc.local<<EOF # start rsync service rsync --daemon EOF
二、配置rsync客戶端
1. rsync的基本用法,更多請見:http://www.samba.org/ftp/rsync/rsync.html
NAME rsync — 一種快速,多功能,遠程(和本地)文件復制工具(a fast, versatile, remote (and local) file-copying tool) Usage: rsync [OPTION]... SRC [SRC]... DEST or rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST or rsync [OPTION]... [USER@]HOST:SRC [DEST] or rsync [OPTION]... [USER@]HOST::SRC [DEST] or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] 常用選項 -v,--verbose 詳細模式輸出,傳輸時的進度等信息 -z,--compress 傳輸時進行壓縮以提高傳輸效率,--compress-level=NUM可按級別壓縮 -a,--archive 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rtopgDl ================================================================== -r,--recursive 對子目錄以遞歸模式,即目錄下所有文件都同樣傳輸,注意小寫r -t,--times 保持文件時間信息 -o,--owner 保持文件屬主信息 -p,--perms 保持文件權限 -g,--group 保持文件屬組信息 -P,--progress 顯示同步的過程及傳輸時的進度等信息 -D,--devices 保持設備的文件信息 -l,--links 保留軟鏈接 -e,--rsh=COMMAND 使用的信道協議,指定替代rsh的shell程序,例如:ssh --exclude=PATTERN 指定排除不需要傳輸的文件模式(和tar參數一樣) --exclude-from=file 文件名所在的目錄文件(和tar參數一樣) --bwlimit=RATE 限速 --delete 讓目標目錄DST和源目錄SRC數據一致 --password-file=FILE 從FILE讀取守護程序訪問密碼 rsync常見用法 # 將本地/backup/下文件拷貝到rsync服務器/backup/下的兩種方法 rsync -avz /backup/ rsync_backup@10.0.0.188::backup/ --password-file=/etc/rsync.password rsync -avz /backup/ rsync://rsync_backup@10.0.0.188/backup/ --password-file=/etc/rsync.password
2. 查看rsync安裝包,如無則安裝
rpm -qa | grep "rsync" yum install rsync -y
3. 創建rsync密碼驗證文件/etc/rsync.password並限權
echo "123456" >>/etc/rsync.password cat /etc/rsync.password chmod 600 /etc/rsync.password ls -l /etc/rsync.password
4. 創建/backup目錄,添加test.txt文件進行測試
mkdir /backup -p echo "https://www.cnblogs.com/caiyundo" >/backup/test.txt
5. 測試
rsync -avz /backup/ rsync_backup@10.0.0.188::backup/ --password-file=/etc/rsync.password