linux配置文件、日志文件全備份
創(chuàng)新互聯(lián)建站是專業(yè)的湖口網(wǎng)站建設(shè)公司,湖口接單;提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行湖口網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
1、分別設(shè)置兩臺(tái)主機(jī)滿足試驗(yàn)要求
服務(wù)器 | IP | 主機(jī)名 |
nginx-web服務(wù)器 | 192.168.10.150 | web1 |
備份服務(wù)器 | 192.168.10.20 | backup |
要求:每天晚上 00 點(diǎn)整在 Web 服務(wù)器上打包備份系統(tǒng)配置文件、網(wǎng)站程序目錄及訪問(wèn)日志并通過(guò) rsync 命令推送備份服務(wù)器 backup 上備份保留(備份思路可以是先在本地按日期打包,然后再推到備份服務(wù)器 backup 上),nginx-web服務(wù)器是實(shí)際工作中的服務(wù)器,具體要求如下:
1)服務(wù)器的備份目錄必須都為/backup。
2)要備份的系統(tǒng)配置文件包括但不限于:
a.定時(shí)任務(wù)服務(wù)的配置文件(/var/spool/cron/root)。
b.開機(jī)自啟動(dòng)的配置文件(/etc/rc.local)。
c.日常腳本的目錄 (/server/scripts)。
d.防火墻 iptables 的配置文件(/etc/sysconfig/iptables)。
3)Web 服務(wù)器站點(diǎn)目錄(/home/www)。
4)Web 服務(wù)器訪問(wèn)日志路徑(/app/logs)
5)Web 服務(wù)器保留打包后的 7 天的備份數(shù)據(jù)即可(本地留存不能多于 7 天)
6)備份服務(wù)器上要按照備份web服務(wù)器的 IP 為目錄保存?zhèn)浞荩瑐浞莸奈募凑諘r(shí)間名字保存。
7)備份服務(wù)器上,保留每周一的所有數(shù)據(jù)副本,其它要保留 6 個(gè)月的數(shù)據(jù)副本。
8)需要確保備份的數(shù)據(jù)盡量完整正確,在備份服務(wù)器上對(duì)備份的數(shù)據(jù)進(jìn)行檢查,把備份的成功及失敗結(jié)果信息發(fā)給系統(tǒng)管理員郵箱中。
2、nginx-web服務(wù)端備份代碼
[root@web1 /]#vim backup.sh
#!/bin/bash #定義變量 hostip=`hostanme -I` cd / varfile="./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables" date=`date +%F-%a` webfile="/home/www" weblog="/app/logs" mkdir /backup > /dev/null 2>&1 mkdir -p /backup/$hostip #打包系統(tǒng)要求的配置文件、web站點(diǎn)目錄、日志目錄 tar -zcf /backup/$hostip/${date}.tar.gz ./$varfile tar -zcf /backup/$hostip/webfile_${date}.tar.gz ./$webfile tar -zcf /backup/$hostip/weblog_${date}.tar.gz ./$weblog md5sum /backup/$hostip/* > /backup/$hostip/md5${date}.txt #通過(guò)rsync發(fā)送到備份服務(wù)器上 rcyns -avz ./backup/$hostip rsync_backup@192.168.10.20::backup --password-file=/etc/rsync.password > /dev/null 2>&1 if [ $? -ne 0 ];then echo "備份失敗" | mail -s "備份情況" 745651470@qq.com fi #清理7天以前打包的文件 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
定時(shí)任務(wù)
[root@web1 /]# crontab -e 00 00 * * * /bin/bash backup.sh >/dev/null 2>&1
3、備份服務(wù)器端代碼
[root@backup /]# vim jiaoyan.sh #!/bin/bash date=`date +%F-%a` cd / A=(`ls /backup | xargs -n1`) for ( i=0;i< ${#A[*]};i++ ) do /usr/bin/md5sum -c /backup/${A[i]/md5${date}.txt >> ./jiaoyanjieguo 2>/dev/null ##-c選項(xiàng)來(lái)對(duì)文件md5進(jìn)行校驗(yàn)。校驗(yàn)時(shí),根據(jù)已生成的md5來(lái)進(jìn)行校驗(yàn)。生成當(dāng)前文件的md5,并和之前已經(jīng)生成的md5進(jìn)行對(duì)比,如果一致,則返回OK,否則返回錯(cuò)誤信息 done /bin/mail -s "備份數(shù)據(jù)" 745651470@qq.com < ./jiaoyanjieguo >dev/null 2>&1 rm -rf ./jiaoyanjieguo find /backup/ -type f -mtime +180 ! -name "*Mon*" | xargs rm -f
定時(shí)任務(wù)
[root@backup /]# crontab -e 00 06 * * * /bin/bash jiaoyan.sh > /dev/null 2>&1
注:試驗(yàn)中的rsync服務(wù)的安裝參考:http://douer.blog.51cto.com/6107588/1914098
腳本功能的實(shí)現(xiàn)還有進(jìn)一步的優(yōu)化,如有好的思路可以一起分享···
參考文檔:http://caojiaoyue.blog.51cto.com/11798573/1923404