MySQLdumpバックアップとメール送信
概要:ドキュメントではsmtpプロトコルを使用して、QQメールボックスを利用してメールを送信します.クライアントのライセンスコードはQQメールボックスsmtpサービスを開くのに公式に与えられているので、覚えておいてください.1、smtp#Linuxの配置
#プロファイルの変更
#末尾に下記の内容を追加保存
#テスト#テスト#
2、バックアップディレクトリの作成
3、バックアップスクリプト
4、crontabl crontab-e#このスクリプトパスに追加
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