MySQLdumpバックアップとメール送信


概要:ドキュメントではsmtpプロトコルを使用して、QQメールボックスを利用してメールを送信します.クライアントのライセンスコードはQQメールボックスsmtpサービスを開くのに公式に与えられているので、覚えておいてください.1、smtp#Linuxの配置
yum install -y mailx

#プロファイルの変更
vi /etc/mail.rc

#末尾に下記の内容を追加保存
set [email protected]   #     
set smtp=smtp.qq.com                    #    STMP   
set [email protected]   #  STMP   
set smtp-auth-password=xxxxxxx   #      
set smtp-auth=login

#テスト#テスト#
echo "this is my test mail" | mail -s 'mail test' [email protected]

2、バックアップディレクトリの作成
mkdir -p /home/mysql/data/backup/mysql
chown mysql:mysql /home/mysql/data/backup/mysql

3、バックアップスクリプト
cd /home/mysql/data/backup/mysql
chmod +x mysqldump.sh
vi mysqldump.sh
#!/bin/bash

BACKUP_PATH=/home/mysql/data/backup/mysql
CURRENT_TIME=$(date +%Y%m%d_%H%M%S)

[ ! -d "$BACKUP_PATH" ] && mkdir -p "$BACKUP_PATH"

#     
HOST=localhost
#      
DB_USER=root
#     
DB_PW=root

#       
FILE_GZ=${BACKUP_PATH}/$CURRENT_TIME.sql.gz
FLAG=${BACKUP_PATH}/$CURRENT_TIME.flag
LOG=${BACKUP_PATH}/$CURRENT_TIME.log
/usr/local/mysql/bin/mysqldump -u${DB_USER} -p${DB_PW} --socket=/home/mysql/3306/data/mysql.sock  --host=$HOST -B --all-databases --master-data=2  --single-transaction  | gzip > $FILE_GZ #           

#    
md5sum $FILE_GZ > ${BACKUP_PATH}/$CURRENT_TIME.flag
md5sum -c ${BACKUP_PATH}/$CURRENT_TIME.flag > ${BACKUP_PATH}/$CURRENT_TIME.log

#   7        「    」
cd $BACKUP_PATH
find $BACKUP_PATH -mtime +7 -name "*sql.gz"  -exec rm -f {} \;
find $BACKUP_PATH -mtime +7 -name "*.log"  -exec rm -f {} \;
find $BACKUP_PATH -mtime +7 -name "*.flag"  -exec rm -f {} \;

#    
echo "MySQL      ,     OK   " | mail -s 'mysql  ' -a $LOG [email protected]  

4、crontabl crontab-e#このスクリプトパスに追加
    * 23 * * *   /bin/sh  /home/mysql/data/backup/mysql/mysqldump.sh