溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux配置文件、日志文件全備份

發(fā)布時間:2020-04-14 00:01:04 來源:網絡 閱讀:811 作者:MQ_douer 欄目:建站服務器

linux配置文件、日志文件全備份

1、分別設置兩臺主機滿足試驗要求

                服務器                      IP                  主機名
         nginx-web服務器            192.168.10.150                   web1
             備份服務器
            192.168.10.20                   backup

要求:每天晚上 00 點整在 Web 服務器上打包備份系統(tǒng)配置文件、網站程序目錄及訪問日志并通過 rsync 命令推送備份服務器 backup 上備份保留(備份思路可以是先在本地按日期打包,然后再推到備份服務器 backup 上),nginx-web服務器是實際工作中的服務器,具體要求如下:

1)服務器的備份目錄必須都為/backup。

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

a.定時任務服務的配置文件(/var/spool/cron/root)。

b.開機自啟動的配置文件(/etc/rc.local)。

c.日常腳本的目錄 (/server/scripts)。 

d.防火墻 iptables 的配置文件(/etc/sysconfig/iptables)。

3)Web 服務器站點目錄(/home/www)。

4)Web 服務器訪問日志路徑(/app/logs)

5)Web 服務器保留打包后的 7 天的備份數(shù)據(jù)即可(本地留存不能多于 7 天)

6)備份服務器上要按照備份web服務器的 IP 為目錄保存?zhèn)浞?,備份的文件按照時間名字保存。

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

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

2、nginx-web服務端備份代碼

[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站點目錄、日志目錄
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

#通過rsync發(fā)送到備份服務器上
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

定時任務

[root@web1 /]# crontab -e
00 00 * * * /bin/bash backup.sh >/dev/null 2>&1

3、備份服務器端代碼

[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選項來對文件md5進行校驗。校驗時,根據(jù)已生成的md5來進行校驗。生成當前文件的md5,并和之前已經生成的md5進行對比,如果一致,則返回OK,否則返回錯誤信息
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

定時任務

[root@backup /]# crontab -e
00 06 * * * /bin/bash jiaoyan.sh > /dev/null 2>&1


注:試驗中的rsync服務的安裝參考:http://douer.blog.51cto.com/6107588/1914098

腳本功能的實現(xiàn)還有進一步的優(yōu)化,如有好的思路可以一起分享···

參考文檔:http://caojiaoyue.blog.51cto.com/11798573/1923404

向AI問一下細節(jié)

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

AI