crontab自动备份MySQL数据库并删除5天前备份

时间:2023-01-19 00:31:21

1、创建备份文件夹

//备份数据库文件夹
 mkdir /data/backmysql //crontab日志
 mkdir /data/logs

 

2、创建脚本文件

db_user="xxx" db_passwd="xxx" db_name="xxx" backup_dir="/data/mysqldata" 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