15、ネットワーク全体のバックアップ

2891 ワード

クライアント要件: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日間のデータをローカルに保持し、ディスクスペースを浪費してテストスクリプトを作成しないようにし、30日間のデータを生成する.
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 rsyncsystemctl start rsyncを受信する
2.サービス側は毎日クライアントから送られてきたデータが完全であるかどうかを検査する必要がある.検査はクライアントがカプセル化してサービス側に送り、サービス側が再検査する.このタスクはクライアントでMD 5の検証を行うことです
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を直接使用する.rcset [email protected]#メールボックスset smtp=smtps://smtp.qq.com:465set [email protected]#受信メールボックスset smtp-auth-password=xxxxx#登録コードset smtp-auth=loginset ssl-verify=ignoreset nss-config-dir=/etc/pki/nssdb/3、スクリプト検証vi/server/script/check.sh #!/bin/bashDATE=$(date +%F)find/backup/-type f -name "${DATE}_md5.txt"|xargs md5sum -c|mail -s "test"[email protected],サービス側は6ヶ月のバックアップデータのみを保持し,残りはすべて1,find/backup–type d-mtime+180|xargs rm-rfを削除する