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---------------------
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 '服務器數據備份結果' 管理員郵箱 #以上會把當天推送成功與失敗的信息寫入到日誌裏面
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天的就刪除掉
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批處理文件