Linux使用rsync客戶端與服務端同步目錄進行備份
一、服務端設置
1. 修改 server 端配置
# vi /etc/rsyncd.conf
修改:
uid = nobody # 該選項指定當該模塊傳輸文件時守護進程應該具有的uid.默認值為”nobody”. gid = nobody # 該選項指定當該模塊傳輸文件時守護進程應該具有的gid.默認值為”nobody”. max connections = 4 # 最大連接數為4 use chroot = no # 不使用chroot log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock hosts allow = 28.16.67.10 # 哪些客戶端IP可以訪問rsync服務 #hosts deny = 192.168.100.0/24 # 哪些IP不可以訪問rsync服務 0/24 代表 192.168.100 該IP段
添加一個自定義的同步模塊配置:
[mysqlbackup] # rsync同步模塊的設定名稱 path = /mydata/mysql/data # 需要同步的數據存放路徑 comment = mysql backup folder # 注釋 auth users = root # 指定用戶 ignore errors # 忽略錯誤 read only = yes # 隻讀 list = no # 不能列表 auth users = root # 連接rsync服務的帳號 secrets file = /etc/rsyncd.pwd # 指定存放帳號密碼的位置
2. 服務端生成密碼文件
# echo root:123456 >> /etc/rsyncd.pwd
配置文件權限,僅允許 root 使用:
# chmod 600 /etc/rsyncd.pwd
3. 啟動 rsync 守護進程方式啟動
# rsync –-daemon
4. 添加到自啟動文件
# echo "rsync --daemon" >> /etc/rc.d/rc.local
5. 檢查 rsync 默認使用的是873端口,除非特殊情況,一般不要去修改
# netstat -na | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 :::873 :::* LISTEN
二、客戶端設置:
1. 生成密碼文件 rsync 服務端 root 帳號密碼 (注:隻要密碼)
# echo 123456 >> /etc/rsyncd.pwd # chmod 600 /etc/rsyncd.pwd
2. 指定客戶端目錄與服務端指定的rsync模塊配置的目錄同步,並刪除客戶端存在而服務端不存在的目錄或文件
# rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/mysql
# -v, –verbose 詳細模式輸出
# -z, –compress 對備份的文件在傳輸時進行壓縮處理
# -r, –recursive 對子目錄以遞歸模式處理
# -t, –times 保持文件時間信息
# -o, –owner 保持文件屬主信息
# -p, –perms 保持文件權限
# -g, –group 保持文件屬組信息
# –-progress 顯示傳輸進度
# –-delete 刪除本地備份目錄中服務器模塊指定目錄中沒有的文件
# –-password-file 從指定文件中得到密碼
3. 製定計劃任務
# crontab -e
加入:
0 0 * * * rsync -vzrtopg --delete --password-file=/etc/rsyncd.pwd root@24.12.36.55::mysqlbackup /data/backup/mysql > /dev/null 2>&1
最後更新:2017-04-03 12:55:12