溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux 全網(wǎng)備份項(xiàng)目

發(fā)布時(shí)間:2020-08-05 19:57:13 來(lái)源:網(wǎng)絡(luò) 閱讀:624 作者:cao979477675 欄目:建站服務(wù)器

linux全網(wǎng)備份項(xiàng)目

要求

1、基本備份要求
已知 3 臺(tái)服務(wù)器主機(jī)名分別為 web01、backup 、nfs01,主機(jī)信息見(jiàn)下表:
服務(wù)器說(shuō)明 外網(wǎng)IP(NAT) 內(nèi)網(wǎng)IP(NAT) 主機(jī)名稱
     nginx web 服務(wù)器 10.0.0.8/24 172.16.1.8/24 web01

     NFS存儲(chǔ)服務(wù)器 10.0.0.31/24 172.16.1.31/24 nfs01

     rsync備份服務(wù)器 10.0.0.41/24 172.16.1.41/24 backup 
要求:每天晚上 00 點(diǎn)整在 Web 服務(wù)器上打包備份系統(tǒng)配置文件、網(wǎng)站程序目錄及訪問(wèn)日志并通過(guò) rsync 命令推送備份服務(wù)器 backup 上備份保留(備份思路可以是先在本地按日
期打包,然后再推到備份服務(wù)器 backup 上) ,NFS 存儲(chǔ)服務(wù)器同 Web 服務(wù)器,實(shí)際工作 中就是全部的服務(wù)器。
具體要求如下:
1)所有服務(wù)器的備份目錄必須都為/backup。

2)要備份的系統(tǒng)配置文件包括但不限于:

a.定時(shí)任務(wù)服務(wù)的配置文件(/var/spool/cron/root)(適合 web 和 nfs 服務(wù)器) 。

b.開(kāi)機(jī)自啟動(dòng)的配置文件(/etc/rc.local)(適合 web 和 nfs 服務(wù)器) 。

c.日常腳本的目錄 (/server/scripts)。 d.防火墻 iptables 的配置文件(/etc/sysconfig/iptables)。

3)Web 服務(wù)器站點(diǎn)目錄(/var/html/www)。

4)Web 服務(wù)器 A 訪問(wèn)日志路徑(/app/logs)

5)Web 服務(wù)器保留打包后的 7 天的備份數(shù)據(jù)即可(本地留存不能多于 7 天,因?yàn)樘嘤脖P會(huì) 滿)

6)備份服務(wù)器上,保留每周一的所有數(shù)據(jù)副本,其它要保留 6 個(gè)月的數(shù)據(jù)副本。

7)備份服務(wù)器上要按照備份數(shù)據(jù)服務(wù)器的內(nèi)網(wǎng) IP 為目錄保存?zhèn)浞?,備份的文件按照時(shí)間名 字保存。

8)*需要確保備份的數(shù)據(jù)盡量完整正確,在備份服務(wù)器上對(duì)備份的數(shù)據(jù)進(jìn)行檢查,把備份的成功及失敗結(jié) 果信息發(fā)給系統(tǒng)管理員郵箱中。

具體代碼如下

客戶端

#!/bin/bash

#---------------------------------------------------------------------

#定義變量
hostip=`hostname -I|awk '{print $2}'`
cd /    
varfile="./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables"
date=`date +%F-%a`
webfile="/var/html/www"
weblog="/app/logs"
mkdir /backup >/dev/null 2>&1
mkdir -p /backup/$hostip
#-------------------------------------------------------------------
#打包系統(tǒng)配置文件、web站點(diǎn)目錄、日志訪問(wèn)路徑
tar -zchf /backup/${hostip}/${date}.gz.tar ./$varfile
tar -zcf /backup/${hostip}/webfile_${date}.gz.tar ./$webfile
tar -zcf /backup/${hostip}/weblog_${date}.gz.tar ./$weblog
md5sum /backup/${hostip}/* >/backup/${hostip}/md5${date}.txt
#--------------------------------------------------------------------
#清理包,因?yàn)槟阋呀?jīng)把內(nèi)容傳輸過(guò)去了,留著沒(méi)有意義
find /backup/${hostip}/ -type f -mtime +7  -name "*.tar"|xargs rm -f
find /backup/${hostip}/ -type f -mtime +7  -name "md5.txt"|xargs rm -f
#---------------------------------------------------------------------
#通過(guò)rsync發(fā)送到備份服務(wù)器上
rsync -a ./backup/${hostip} rsync_backup@10.0.0.41::backup --password-file=/etc/rsync.password >/dev/null 2>&1
if [ $? -ne 0 ];then
echo "備份失敗"|mail -s "nfs備份情況" 979477675@qq.com >/dev/null 2>&1
fi

定時(shí)任務(wù)

crontab -e

00 00 * * * /bin/bash 文件 >/dev/null 2>$1

服務(wù)端代碼

#!/bin/bash
cd /
A=(`ls backup|xargs -n1`)
for ((i=0;i<${#A[*]};i++));do
/usr/bin/md5sum -c /backup/${A[i]}/md5`date +%F-%a`.txt >>./ceshi  2>/dev/null
a=$a[a+1]
done
/bin/mail -s "備份數(shù)據(jù)" 979477675@qq.com <./ceshi >/dev/null 2>&1
rm -f ./ceshi
find /backup/ -type f -mtime +180 ! -name "*Mon*" | xargs rm -f

#自動(dòng)獲取/backup下的目錄并且比較適合多臺(tái)服務(wù)器

定時(shí)任務(wù)

crontab -e

00 06 * * * /bin/bash 文件 >/dev/null 2>$1


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI