Mysql 定时备份数据库脚本
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
至此,操作结束。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通