crontab自动备份MySQL数据库并删除5天前备份
1、创建备份文件夹
//备份数据库文件夹
mkdir /data/backmysql
//crontab日志
mkdir /data/logs
2、创建脚本文件
db_user="xxx"
db_passwd="xxx"
db_name="xxx"
backup_dir="/data/backmysql
" log_dir="/data/logs" time="$(date +"%Y%m%d%H%M%S")" start=`date +%Y-%m-%d_%H:%M:%S` echo -e "开始执行备份:$start" >> $log_dir/auto_backup.log mysqldump -u$db_user -p$db_passwd $db_name > "$backup_dir/$db_name"_"$time.sql" end=`date +%Y-%m-%d_%H:%M:%S` echo -e "结束执行备份:$end\n" >> $log_dir/auto_backup.log find $backup_dir -mtime +5 -name "*.*" -exec rm -f {} \;
添加可执行权限
chmod +x backmysql.sh
3、创建crontab任务
安装:
1. 确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
2. 安装 crontab
执行 yum install -y vixie-cron
3. 确认是否安装成功:
执行 crontab -l
4. 看是否设置了开机自动启动
chkconfig --list crond
5. 启动crontab
service crond start
配置:
每天凌晨3点执行备份
crontab -e
0 3 * * * /data/backmysql.sh
service crond restart
4、效果
开始执行备份:2018-04-11_15:59:01
结束执行备份:2018-04-11_15:59:02