day34綜合架構(gòu)全網(wǎng)備份項(xiàng)目

  • 根據(jù)全網(wǎng)備份需求解決問(wèn)題

  • 根據(jù)全網(wǎng)備份需求編寫腳本

  • 根據(jù)全網(wǎng)備份部署進(jìn)行完善項(xiàng)目

1.全網(wǎng)備份項(xiàng)目部署說(shuō)明
第一個(gè)里程:對(duì)工作任務(wù)進(jìn)行確認(rèn)(筆記、錄音等記錄)
第二個(gè)里程:根據(jù)需求編寫文檔資料(部署步驟規(guī)劃、人員規(guī)劃、簡(jiǎn)單部署方案)
第三個(gè)里程:和領(lǐng)導(dǎo)進(jìn)行開會(huì)(相關(guān)人員進(jìn)行召集)
第四個(gè)里程:根據(jù)規(guī)劃完成任務(wù)(階段性匯報(bào))
第五個(gè)里程:任務(wù)完成后進(jìn)行項(xiàng)目文檔總結(jié)(項(xiàng)目總結(jié)會(huì)議、人員培訓(xùn))
2.全網(wǎng)備份需求完成階段

1.所有服務(wù)器的備份目錄必須都為/backup
    mkdir /backup -p
2.要備份的系統(tǒng)配置文件包括但不限于:
    a) 定時(shí)任務(wù)服務(wù)的配置文件(/var/spool/cron/root)  (適合web和nfs服務(wù)器)
    b) 開機(jī)自啟動(dòng)的配置文件   (/etc/rc.local)  (適合web和nfs服務(wù)器)
    c) 日常腳本的目錄   (/etc/sysconfig/iptables)
    d) 防火墻iptables的配置文件   (/etc/sysconfig/iptables)
    e) 自己思考下還有什么需要備份呢?
    mkdir -p /server/scripts
    touch /etc/sysconfig/iptables
 方法一:壓縮數(shù)據(jù)----絕對(duì)路徑
    tar zcvhPf /backup/system_backup$(date +%F_%A).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables
 方法二:壓縮數(shù)據(jù)----相對(duì)路徑
    tar zcvhf /backup/system_backup$(date +%F_%A).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
3.web服務(wù)器站點(diǎn)目錄假定為(/var/html/www)
    mkdir -p /var/html/www/
    tar zcvPhf /backup/web_info_backup$(date +%F_%A).tar.gz /var/html/www/
4.web服務(wù)器訪問(wèn)日志路徑假定為(/app/logs)
    mkdir -p /app/logs
    tar zcvPhf /backup/web_log_backup$(date +%F_%A).tar.gz /app/logs/
5.web服務(wù)器保留打包7天的備份數(shù)據(jù)即可(本地留存不能對(duì)于7天,因?yàn)樘嘤脖P會(huì)滿)
    find /backup -type f -name "*.tar.gz" -mtime +7 -delete
6.備份服務(wù)器上,保留6個(gè)月之內(nèi)數(shù)據(jù),同時(shí)保留6個(gè)月之前每周一的所有數(shù)據(jù)副本
    find /backup -type f -name "*.tar.gz" -mtime +180 -delete
    兩種方法:保留周一數(shù)據(jù)信息
    方法一:根據(jù)文件名稱信息進(jìn)行保留
        date +%F_%w
        date +%F_%a
        date +%F_%A
        find /backup -type f -name "*.tar.gz" -mtime +180 ! -iname "_monday.tar.gz" -delete
    方法二:可以將每周一數(shù)據(jù)進(jìn)行單獨(dú)保存
        find /backup -type f -iname "*_monday.tar.gz" | xargs mv -t /backup_monday
        find /backup -type f -name "*.tar.gz" -mtime +180 -delete
7.備份服務(wù)器上,要按照備份數(shù)據(jù)服務(wù)器的內(nèi)網(wǎng)IP為目錄保存?zhèn)浞?,備份的文件按照時(shí)間名字保存
    方法一:在備份客戶端主機(jī)上,backup目錄中創(chuàng)建有IP地址信息子目錄
        cd /
        tar zcvhf /backup/172.16.1.31/system_backup_$(date +%F_%A).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
        rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
    方法二:
        rsync -avz /backup/ rsync_backup@172.16.1.41::backup/172.16.1.31/ --password-file=/etc/rsync.password
8.需要確保備份的數(shù)據(jù)盡量完整正確,在備份服務(wù)器上對(duì)備份的數(shù)據(jù)進(jìn)行檢查,把備份的成功及失敗結(jié)果信息發(fā)給系統(tǒng)管理員郵箱中
    a.驗(yàn)證數(shù)據(jù)傳輸完整性
    第一個(gè)步驟:客戶端生成文件指紋信息
    md5sum system_backup_2019-08-19_Monday.tar.gz
    8b771973e1a6ca8069e4240d1ee239a7 system_backup_2019-08-19_Monday.tar.gz
    生成指紋信息
    find /backup/ -type f -name "*.tar.gz" | xargs md5sum >/backup/172.16.1.31/finger.txt
    第二個(gè)步驟:服務(wù)端對(duì)文件指紋信息進(jìn)行比對(duì)
    find /back/ -type f -name "finger.txt" | xargs md5sum -c >/tmp/check_data.txt

    b.對(duì)驗(yàn)證結(jié)果進(jìn)行郵件告知運(yùn)維人員
    Linux系統(tǒng)發(fā)送郵件原理  
    郵件服務(wù)客戶端    -----> 郵件服務(wù)端  ----->QQ郵箱
    foxmail       ----->QQ企業(yè)郵箱  ---->發(fā)送郵件
    Linux postfix   ----> QQ/163郵箱  -----> 其他人發(fā)送郵件
   
    第一個(gè)里程:配置郵箱信息:163、QQ
    QQ:授權(quán)碼:xxxxxxxxxx      開啟QQ郵箱中IMAP/SMTP服務(wù)
    163:授權(quán)碼:xxxxxxxxx    開啟IMAP/SMTP服務(wù)

    第二個(gè)里程:Linux系統(tǒng)中進(jìn)行郵件配置
    vim /etc/mail.rc
    set from=郵箱地址@qq.com     <----連接郵箱名稱信息
    set smtp=smtp.qq.com       <----設(shè)置郵箱服務(wù)地址信息
    set smtp-auth-user=郵箱地址@qq.com
    set smtp-auth-password=       <-----郵箱授權(quán)碼
    set smtp-auth=login          <----指定進(jìn)行遠(yuǎn)程登錄連接
    
    例:
    #QQ Mail config
    set from=1149597677@qq.com
    set smtp=smtp.qq.com
    set smtp-auth-user=1149597677@qq.com
    set smtp-auth-password=xxxxxxxxx
    set smtp-auth=login     
    #163 Mail config
    set from=17778058507@163.com
    set smtp=smtp.163.com
    set smtp-auth-user=17778058507@163.com
    set smtp-auth-password=xxxxxxxxx
    set smtp-auth=login

    第三個(gè)里程:重啟系統(tǒng)郵件服務(wù)
    systemctl restart postfix.service
    
    第四個(gè)里程:進(jìn)行郵件發(fā)送測(cè)試
    mail -s "backup_data_notify" 1149597677@qq.com </tmp/check_data.txt
    echo oldboy63 | mail -s "test_mail" 1149597677@163.com
    以文件方式發(fā)送多行信息:
    mail -s "test_mail" 1149597677@qq.com </etc/hosts

3.全網(wǎng)備份腳本編寫過(guò)程
nsf01:
備份服務(wù)客戶端腳本:

    #!/bin/bash
    Backup_Dir="/backup/"
    Backup_IP="$(hostname -i)"
    # 00. create dir info
    mkdir $Backup_Dir/$Backup_IP -p
    mkdir -p /server/scripts
    touch /etc/sysconfig/iptables

    # 01. compress data
    tar zchPf $Backup_Dir/$Backup_IP/system_backup$(date +%F_%A).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables
    
    # 02. create finger file
    find $Backup_Dir/ -type f -name "*.tar.gz" | xargs md5sum >$Backup_Dir/$Backup_IP/finger.txt    

    # 03. push data info
    rsync -az $Backup_Dir/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password 

    # 04. delete 7 day ago
    find $Backup_Dir/ -type f -name "*.tar.gz" -mtime +7 -delete  

備份服務(wù)服務(wù)端腳本:

#!/bin/bash

#01. check data info
find /back/ -type f -name "finger.txt" | xargs md5sum -c >/tmp/check_data.txt

#02. sent notify mail
mail -s "backup_data_notify" 1149597677@qq.com </tmp/check_data.txt

#03. delete 180 day ago
find /backup -type f -name "*.tar.gz" -mtime +180 ! -iname "_monday.tar.gz" -delete

4.編寫定時(shí)任務(wù)注意事項(xiàng)
客戶端時(shí)間晚于客戶端備份時(shí)間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容