重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
linux全網(wǎng)備份項目
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、鑲黃網(wǎng)站維護(hù)、網(wǎng)站推廣。
要求
1、基本備份要求
已知 3 臺服務(wù)器主機(jī)名分別為 web01、backup 、nfs01,主機(jī)信息見下表:
服務(wù)器說明 外網(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存儲服務(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)站程序目錄及訪問日志并通過 rsync 命令推送備份服務(wù)器 backup 上備份保留(備份思路可以是先在本地按日
期打包,然后再推到備份服務(wù)器 backup 上) ,NFS 存儲服務(wù)器同 Web 服務(wù)器,實際工作 中就是全部的服務(wù)器。
具體要求如下:
1)所有服務(wù)器的備份目錄必須都為/backup。
2)要備份的系統(tǒng)配置文件包括但不限于:
a.定時任務(wù)服務(wù)的配置文件(/var/spool/cron/root)(適合 web 和 nfs 服務(wù)器) 。
b.開機(jī)自啟動的配置文件(/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 訪問日志路徑(/app/logs)
5)Web 服務(wù)器保留打包后的 7 天的備份數(shù)據(jù)即可(本地留存不能多于 7 天,因為太多硬盤會 滿)
6)備份服務(wù)器上,保留每周一的所有數(shù)據(jù)副本,其它要保留 6 個月的數(shù)據(jù)副本。
7)備份服務(wù)器上要按照備份數(shù)據(jù)服務(wù)器的內(nèi)網(wǎng) IP 為目錄保存?zhèn)浞荩瑐浞莸奈募凑諘r間名 字保存。
8)*需要確保備份的數(shù)據(jù)盡量完整正確,在備份服務(wù)器上對備份的數(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)目錄、日志訪問路徑
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
#--------------------------------------------------------------------
#清理包,因為你已經(jīng)把內(nè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
#---------------------------------------------------------------------
#通過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
定時任務(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
#自動獲取/backup下的目錄并且比較適合多臺服務(wù)器
定時任務(wù)
crontab -e
00 06 * * * /bin/bash 文件 >/dev/null 2>$1