Mysql 定时备份数据库;并且删除X天前的备份数据;
1. 创建数据目录
mkdir data cd /data
2. 编写脚本文件
vim backup.sh
#!/bin/bash #日期 dd=`date +%Y-%m-%d-%H-%M-%S` #保存备份个数,备份2天数据 backup_clean_day=2 #用户名 username=root #密码 password=密码 #将要备份的数据库 database_name=数据库名称 #备份保存路径 backup_dir=/data/db #备份日志 backup_log=/data/log #如果文件夹不存在则创建 if [ ! -d $backup_dir ]; then mkdir -p $backup_dir; fi #创建备份日志文件夹 if [ ! -d $backup_log ]; then mkdir -p $backup_log; fi function log_info () { echo “$dd execute $0 $@” >> $backup_log/$database_name-log.txt } mysqldump -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql # 备份成功之后,删除本次以外的备份数据 cd $backup_dir #删除2天之前的备份 find $BCK_DIR -type f -mtime +$backup_clean_day -delete #写创建备份日志 log_info "$@ info"
:wq 保存退出。
3. 脚本编写完成,需要添加文本权限
chmod +x backup.sh
4. 设置定时任务,采用的是crontab;
crontab -e
进入编辑页面,添加每日凌晨一点的执行计划
0 1 * * * /data/backup.sh 5. 查看执行计划 crontab -l 重启服务让定时计划生效 service crond restart 至此,操作结束。标签:-%,log,data,备份,Mysql,backup,数据库,dir From: https://www.cnblogs.com/wang188/p/17653648.html