環境:
1台rsync備份服務器,IP:10.0.0.188
1台rsync備份客戶端,IP:10.0.0.51
備份數據需注意:
1. 在業務低谷時間進行備份
2. 進行備份限速
一、搭建rsync備份服務器
1. 查看rsyncd服務配置幫助文件(可忽略)
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
/etc/rsyncd.conf
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客戶端
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