rsync全網備份

rsync備份企業方案linux

企業有Linux服務器又有windows服務器,備份用rsync(服務端),Linux(客戶端),Windows(客戶端,cwrsync,舊版本有免費版)打包壓縮數據往服務器上推!shell

rsync服務器,yum安裝rsync,經過rsync--daemon方式運行windows

步驟:1,Yum安裝後打開/etc/rsyncd.conf,寫入如下配置參數bash

 1 ###resyncd.conf  start 
 2 uid = rsync
 3 gid = rsync
 4 use chroot = no
 5 max connections = 200
 6 timeout = 300
 7 pid file = /var/run/rsyncd.pid
 8 lock file = /var/run/rsyncd.lock
 9 log file = /var/log/rsyncd.log
10 ignore errors
11 read only = false
12 list = false
13 hosts allow = 0.0.0.0/24
14 secrets file = /etc/rsync.backup.password
15 auth users = rsync.backup
16 incoming chmod = D755,F755  #這個是windows客戶端上傳文件時會改動備份目錄權限,故加此選項能夠讓推送到服務器的文件跟目錄都是755權限
17 fake super = yes #這個是新版本rsync要加入的選項,詳細看下面故障現象
18 [ruser] #rsync模塊
19 path = /backup
20 #####rsync_config-------------------------------------end---------------------
View Code

           2,新建用戶:useradd rsync,新建模塊目錄:目錄的全部者更改成rsync用戶,chown -R rsync.rsync 服務器

           3,新建認證密碼文件:echo 'rsync.backup:123456' > /etc/rsync.backup.password,並把密碼文件的權限更改:chmod 600   注意:這個密碼文件的全部者是開啓rsync服務的用戶ide

           4,檢查防火牆跟selinux,讓873端口能被其餘服務器訪問測試

           5,因爲有多臺服務器須要備份,因此咱們要在rsync服務端新建腳本,目的就是當客戶端每日推送後把推送失敗的服務器信息寫入到文檔裏面,再把文檔發送給管理員(檢查服務器有無rpm -qa | grep mailx包,沒有就yum -y install mailx安裝)ui

 
for dir in `ls /backup/` #循環備份目錄,dir就是每臺服務器的IP地址
do
 if [ -f /backup/$dir/bak_$(date +%F)_${dir}.tar.gz ] #判斷目錄下有無當天的打包數據,有就證實客戶端推送成功,沒有便是失敗
 then
   echo "$dir backup is success">>/tmp/log/$(date +%F)_backup_result.log
 else
   echo "$dir backup is faild">>/tmp/log/$(date +%F)_backup_result.log
 fi
done
/usr/bin/cat /root/log/$(date +%F)_backup_result.log| mail -s '服務器數據備份結果' 管理員郵箱
#以上會把當天推送成功與失敗的信息寫入到日誌裏面
View Code

 

rsync客戶端(Linux)spa

步驟:1,Yum安裝rsync日誌

           2,新建認證密碼文件:echo '123456' > /etc/rsync.backup.password,並把密碼文件的權限更改:chmod 600

           3,測試:rsync -avz /backup/ rsync.backup@0.0.0.0::ruser --password-file=/etc/rsync.backup.password

           4,打包備份目錄與文件,而後推送到服務器上,用定時任務天天執行一次,shell命令以下

#!/bin/bash
ip=$(ifconfig ens192 | awk -F "[ :]+" 'NR==2{print $3}') #獲取本機IP地址
[ ! -d /backup/$ip ] && mkdir -p /backup/$ip #判斷備份目錄有無以本機IP地址命令的目錄,沒有就建立 
 cd /backup/$ip &&\
 tar -zcf  bak_$(date +%F)_${ip}.tar.gz /etc /var/log/yum.log >/dev/null 2>&1 #打包
 rsync -az /backup/ rsync.backup@172.17.2.110::ruser --password-file=/etc/rsync.backup.password #推送  
 find /backup -type f -name '*.tar.gz' -mtime +7|xargs rm -rf #查找目錄下打包文件超過7天的就刪除掉
View Code

           

rsync客戶端(windows)

步驟:1,安裝cwrsync客戶端軟件,記住rsync安裝路徑

           2, 進入安裝路徑的bin下面,新建密碼文件,把認證密碼寫入

           3,cmd到rsync安裝路徑/bin下,執行rsync -avz /cygdrive/c/backup/ rsync.backup@0.0.0.0::ruser < rsync.backup.password

           4,新建.bat批處理文件,把rsync的相關命令寫入

           5,在計劃任務頁面新建計劃,天天備份一次,選定時間,程序選擇上面新建的.bat批處理文件

相關文章
相關標籤/搜索