rsync備份企業方案 企業有Linux伺服器又有windows伺服器,備份用rsync(服務端),Linux(客戶端),Windows(客戶端,cwrsync,舊版本有免費版)打包壓縮數據往伺服器上推! rsync伺服器,yum安裝rsync,通過rsync--daemon方式運行 步驟:1,Yu ...
rsync備份企業方案
企業有Linux伺服器又有windows伺服器,備份用rsync(服務端),Linux(客戶端),Windows(客戶端,cwrsync,舊版本有免費版)打包壓縮數據往伺服器上推!
rsync伺服器,yum安裝rsync,通過rsync--daemon方式運行
步驟:1,Yum安裝後打開/etc/rsyncd.conf,寫入以下配置參數
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服務的用戶
4,檢查防火牆跟selinux,讓873埠能被其他伺服器訪問
5,見rsync客戶端(Linux)第五項,shell命令如下
1 for dir in `ls /backup/` #迴圈備份目錄,dir就是每台伺服器的IP地址 2 do 3 if [ -f /backup/$dir/bak_$(date +%F)_${dir}.tar.gz ] #判斷目錄下有無當天的打包數據,有就證明客戶端推送成功,沒有即是失敗 4 then 5 echo "$dir backup is success">>/tmp/log/$(date +%F)_backup_result.log 6 else 7 echo "$dir backup is faild">>/tmp/log/$(date +%F)_backup_result.log 8 fi 9 done 10 #以上會把當天推送成功與失敗的信息寫入到日誌裡面View Code
rsync客戶端(Linux)
步驟:1,Yum安裝rsync
2,新建認證密碼文件:echo '123456' > /etc/rsync.backup.password,並把密碼文件的許可權更改:chmod 600
3,測試:rsync -avz /backup/ [email protected]::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
5,由於有多台伺服器需要備份,所以我們要在rsync服務端新建腳本,目的就是當客戶端每日推送成功後把信息寫入到文檔裡面,再把文檔發送給管理員
rsync客戶端(windows)
步驟:1,安裝cwrsync客戶端軟體,記住rsync安裝路徑
2, 進入安裝路徑的bin下麵,新建密碼文件,把認證密碼寫入
3,cmd到rsync安裝路徑/bin下,執行rsync -avz /cygdrive/c/backup/ [email protected]::ruser < rsync.backup.password
4,新建.bat批處理文件,把rsync的相關命令寫入
5,在計劃任務頁面新建計劃,每天備份一次,選定時間,程式選擇上面新建的.bat批處理文件