mysqldumpスクリプト

自宅mysqlサーバのバックアップスクリプトを作成。

#!/bin/sh
#-----------------------------------------------
# mysql dump script
#-----------------------------------------------
export PATH=${PATH}/bin:/usr/bin

workdir=/root/mysql_backup
daystr=`date '+%Y%m%d%H%M%S'`
dumpfile=${workdir}/${daystr}.dmp
errlog=${workdir}/backup.err
usr=root
pwd=*****
mailto=root@hoge
backup_days=7


#- do backup
mysqldump -A -u ${usr} -p${pwd} > ${dumpfile} 2>>${errlog}
res=$?
if [ ${res} = 0 ]; then
        gzip ${dumpfile}
else
        echo "ng"
        #- alert mail
        tail -1 ${errlog} | mail -s MySQL_BACKUP_ALERT ${mailto}
        rm ${dumpfile}
fi

#- maintenance
find ${workdir} -ctime +${backup_days} -name "*.gz" -exec rm {} \;

backupをクーロンに設定する。

# crontab -e
----------------------------------------
*/30 * * * * /root/mysql_backup/backup.sh
----------------------------------------