mysql数据库备份
需求#
需要对mysql数据库,每天定时备份
方法#
主要方式是:利用crontab工具执行shell脚本,shell脚本中编写备份命令。
如果没有crontab,就先安装crontab。
安装crontab#
1、Crontab是什么?
“任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行。通俗的讲就是定时执行某个脚本、程序。
常用于:定时关机、定时检查更新、定时对系统配置、数据库、日志进行备份、定时清理垃圾文件
2、检测是否已安装
1 | crontab --help |
3、具体安装请参考1
编写脚本#
1、创建备份目录
1 | mkdir DB-mysql |
2、脚本模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/bin/sh # Database info DB_USER= "batsing" DB_PASS= "batsingpw" DB_HOST= "localhost" DB_NAME= "timepusher" # Others vars BIN_DIR= "/usr/bin" #the mysql bin path BCK_DIR= "/mnt/mysqlBackup" #the backup file directory DATE=` date +%F` # TODO # /usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql $BIN_DIR /mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR /db_ $DATE.sql #还原数据库 #用mysql-front导入前一天的 *.sql 文件即可恢复数据 |
开放权限:
1 | chmod 777 sqlAutoBak.sh |
设置计划#
1、执行命令
1 | crontab -e |
2、添加计划
1 | * /1 * * * * /usr/local/include/wx-code/sqlAutoBak .sh |
意思是:每一分钟执行一次shell脚本
1 | 30 3 * * * /usr/local/include/wx-code/sqlAutoBak .sh |
意思是:每天凌晨三点半执行一次shell脚本
更多时间格式:
1 2 3 4 5 6 | # 例如:db_2021-08-01.sql.zip #DATE=`date +%F` # 例如:db_20210801_161156.sql.zip #DATE=`date +%Y%m%d_%H%M%S` # 例如:db_2021-08-01 16:17:37.sql.zip DATE=` date "+%F %T" ` |
参考#
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/15086936.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)