15,全網備份

客戶端需求:
1. 客戶端 每天凌晨1點在服務器本地打包備份(系統配置文件\日誌文件\其他目錄\應用配置等文件)
1)需要打包文件/etc/fastab,/var/log/message,/var/log/secoure
2)打包文件

cd / && tar –zcvf /backup/sys.tar.gz etc/fastab
cd / && tar –zcvf /backup/log.tar.gz var/log/message var/log/secoure

2. 客戶端備份的數據必須存放至以主機名_ip地址_當前時間命名的目錄中

1)取主機名
HOST=$(hostname)
2)取ip地址
IP=$(ip add show eth1|awk 'NR==3'|awk -F'[ /]+' '{print $3}')
3)取當前時間
DATE=$(date +%F)
BACKUP=/backup
DEST=${BACKUP}/${HOST}_${IP}_$DATE
mkdir –p ${DEST}
cd / && tar –zcvf ${DEST}/sys.tar.gz etc/fastab
cd / && tar –zcvf ${DEST}/log.tar.gz var/log/message var/log/secoure

3. 客戶端最後通過rsync推送本地已經打包好的備份文件至backup服務器
1)

export RSYNC_PASSWD=“oldboy”
rsync –azvP ${DEST} [email protected]::backup 

============================腳本=============================

vi /server/scripts/backup.sh
#!/bin/bash
HOST=$(hostname)
IP=$(ip add show eth1|awk 'NR==3'|awk -F'[ /]+' '{print $3}')
DATE=$(date +%F)
BACKUP=/backup
DEST=${BACKUP}/${HOST}_${IP}_$DATE
mkdir –p ${DEST}
cd / && tar –zcvf ${DEST}/sys.tar.gz etc/fstab
cd / && tar –zcvf ${DEST}/log.tar.gz var/log/messages var/log/secure
md5sum ${DEST}/sys.tar.gz >${DEST}/md5.txt
md5sum ${DEST}/log.tar.gz >>${DEST}/md5.txt
md5sum ${DEST}/*.tar.gz >${DEST}/md5.txt
優化:
md5sum ${DEST}/*.tar.gz >${DEST}/${DATE}_md5.txt

export RSYNC_PASSWORD=“oldboy”
rsync –azvP ${DEST} [email protected]::backup 

4.客戶端服務器本地保留最近7天的數據,避免浪費磁盤空間
做一個測試腳本,生成一個三十天的數據

vi /server/scripts/test.sh
#!/bin/bash
for i in {1..30}
do
    date –s 2019/07/${i}
sh /server/scrpits/backup.sh
done

2)find /backup –type d –mtime +7 |xargs rm -rf

服務端需求:
1. 服務端部署 rsync,用於接收客戶端推送過來的備份數據
yum –y install rsync
systemctl start rsync

2. 服務端需要每天校驗客戶端推送過來的數據是否完整
校驗是在客戶端封裝再發給服務端,服務端再校驗。所以這個任務其實是在客戶端去做
MD5校驗

vi /server/scripts/check.sh
#!/bin/bash
DATE=$(date +%F)
find /backup/ -type f -name "${DATE}_md5.txt"|xargs md5sum -c

3. 服務端需要每天校驗的結果通知給管理員
1,直接使用mailx郵件
yum –y install mailx
2,配置文件/etc/mailx.rc
set [email protected] #發送郵箱
set smtp=smtps://smtp.qq.com:465
set [email protected] #接收郵箱
set smtp-auth-password=xxxxxxxx #註冊碼
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
3,腳本驗證
vi /server/scripts/check.sh
#!/bin/bash
DATE=$(date +%F)
find /backup/ -type f -name "${DATE}_md5.txt"|xargs md5sum -c|mail -s "test" [email protected]
4,服務端僅保留 6 個月的備份數據,其餘的全部刪除
1,find /backup –type d -mtime +180|xargs rm -rf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章