#!/bin/bash
time=`date "+%Y-%m-%d %H:%M:%S"`
nowtime=`date +%Y%m%d`
path=/data/mysql_backup_data
password=gc#ER!ytpe
echo "${time} : starting backup mysql" >> /tmp/mysql_backup_log
echo "${time} : backup ing......" >> /tmp/mysql_backup_log
/data/mysql/bin/mysqldump -h127.0.0.1 -uroot -p${password} --all-databases > ${path}/${nowtime}_mysql.sql
if [ $? -eq 0 ];then
echo "${time} : finished backup" >> /tmp/mysql_backup_log
else
echo "${time} : you need backup again" >> /tmp/mysql_backup_log
fi
echo "${time} : delete the mysql backups of 30 days ago" >> /tmp/mysql_backup_log
# 保留最近30天的备份
find $path -name *_mysql.sql -mtime +30 -exec rm -rf {} \;
if [ $? -eq 0 ];then
echo "${time} : finished clean" >> /tmp/mysql_backup_log
else
exit 0
fi
echo -ne "\n" >> /tmp/mysql_backup_log
接下来再配个定时任务即可