-
根據(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)浞菘幼剩瑐浞莸奈募凑諘r(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í)間