標籤:mysqldump sendmail
[[email protected] myfile]# cat mysqlback_zabbix.sh #!/bin/bashUSER=rootDB=zabbix#PASSWORD=123456SERVER=172.16.9.129DIR_HOME=/vol/myfile/mysql_$SERVERLOG_FILE=$DIR_HOME/logs/mysqlback.logif [ ! -d $DIR_HOME ];then mkdir $DIR_HOME ;fiif [ ! -d $DIR_HOME/logs ];then mkdir $DIR_HOME/logs ;fiDATE=`date +%F`echo ‘**********BEGIN**********‘ >>$LOG_FILEdate >>$LOG_FILE#自動刪除兩天前的備份資料DATE_TWO_AGO=`date -d ‘2 days ago‘ +%F`if [ -d $DIR_HOME/$DATE_TWO_AGO ] ;then rm -rf $DIR_HOME/$DATE_TWO_AGO >>$LOG_FILE 2>&1 if [ $? == 0 ];then echo "$DIR_HOME/$DATE_TWO_AGO刪除成功!" >> $LOG_FILE else echo "$DIR_HOME/$DATE_TWO_AGO刪除失敗!" >> $LOG_FILE fifi#開始備份FILE_NAME=$DIR_HOME/$DATEif [ ! -d $FILE_NAME ];then mkdir $FILE_NAME ;fimysqldump -u$USER $DB >>$LOG_FILE 2>&1 >$FILE_NAME/$DB.sql if [ $? == 0 ];then echo "**$DB**備份完成!">>$LOG_FILE else #失敗郵件警示 CONTENT=$(cat $LOG_FILE | tail -2 | grep mysqldump) /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh [email protected] "mysqldump ERROR" "$CONTENT" fiecho ‘**********END**********‘ >>$LOG_FILE
senfmail.sh內容:
[[email protected] myfile]# cat /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh#!/bin/bash# $1 sendmail address# $2 sendmail subject# $3 content[email protected]send_mail=/usr/local/zabbix/share/zabbix/alertscripts/sendEmail-v1.56/sendEmailserver_mail=mail.benguo.cn$send_mail -f $sender -t "$1" -s $server_mail -u "$2" -m "$3" >>/dev/null
sendmail:sendEmail-v1.56.tar.gz
添加到計劃任務裡面:
[root[email protected] myfile]# crontab -e 01 1 * * * /vol/myfile/mysqlback_zabbix.sh #每天的1點1分自動執行備份指令碼
mysql備份指令碼及備份失敗警示