データベースを自動的にバックアップし、メールボックスに添付ファイルを送信

2722 ワード

データベース内のデータの企業に対する重要性は言うまでもない.当社はデータの安全面でのいくつかのやり方で、レンガを投げて玉を引く目的を達成します.
1、定期的なデータバックアップと更新
定期的にデータバックアップを行い、データに予期せぬ損失が発生した場合に災害復旧を行い、損失を最小限に抑えることができます.また、リアルタイムでネットワークを介してバックアップシステムに転送され、バックアップシステムはログに基づいてディスクを更新します.
2、オフサイトバックアップ
リモート・データベース・バックアップ:プライマリ・データベースが存在する本番マシンから分離されたバックアップ・マシン上でプライマリ・データベースを作成するコピーです.また、オフサイトデータの災害対応において、データバックアップは、オフサイトでのデータコピーだけでなく、オフサイトデータの完全性、可用性を保証する必要がある.
3、故障切替メカニズムを確立する
会社はdrbdなどのディスクレベルのリアルタイムバックアップを使用して、プライマリ・スレーブ・ライブラリのデータは一致しており、プライマリ・サーバがダウンタイムした場合、サーバからリソースを引き継ぎ、対外サービスを継続することができる.
次のメモは、データベースを定期的にバックアップし、添付ファイルとしてメールボックスに送信するスクリプトです.

1、muttをインストールする

yum install mutt –y

構成情報の変更
vim /root/.muttrc

# , 

set envelope_from=yes

set realname="liuyishi"

set use_from=yes

set [email protected]

# , 

set charset="utf-8"

set rfc2047_parameters=yes

2、メール送信

mutt [-hnpRvxz] [-b][-c][-f][-F][-H][-i][-m] [-s][ ] [-a]

mutt添付メールプロンプト:message file too big
解決策:コマンドラインにpostfixのmessage_を設定するsize_limitの値
postconf -e "message_size_limit=409600000"  <==  400MB

注意:CentOS 6以降のバージョンで、添付ファイルはコマンドの最後に追加する必要があります.

3、メールの受信


メールを受信するメールボックスを設定する必要があります[email protected]ホワイトリストです.そうしないと、メールボックス事業者にブロックされます.

3.1自動バックアップスクリプトの作成


auto_backup_data.shスクリプトは次のとおりです.

#!/bin/sh

# auto backup mysql data

# liuyishi

# date: 2015-08-15

BACKUP_DIR=/root/databak

Now=$(date +"%Y%m%d")

File=UUWIFI-BAK-$Now.sql

LOGFILE=/root/databak/backup.log

if [ ! -d $BACKUP_DIR ] ;then

 mkdir -p $BACKUP_DIR

fi

if [ ! -f $LOGFILE ] ;then

 touch $LOGFILE

fi

echo "BACKUP DATE:" $(date +"%Y-%m-%d %H:%M %A") >> $LOGFILE

cd $BACKUP_DIR

mysqldump -uroot -ppassword UUWIFI > $File

if [[ $? == 0 ]]; then

       tar czvf ${File}.tgz $File >> $LOGFILE 2>&1

 echo "Database Backup Successful!" >> $LOGFILE

 echo "MySQL Database" | mutt -s "Database Backup Successful!" [email protected] -a ${BACKUP_DIR}/${File}.tgz >&/dev/null

 rm -rf $File

  else

 echo "Database Backup Fail!" >> $LOGFILE

 echo "MySQL Database" | mutt -s "Database Backup Fail!" [email protected]

fi

echo "——————————————————————————————————————————————————" >> $LOGFILE

3.2タイミングタスクの編集

crontab -e

30 18 * * * /root/databak/auto_backup_data.sh > /dev/null 2>&1

転載先:https://www.cnblogs.com/liuyishi/p/9180832.html