技术文摘
通过实例教你用 crontab 定时备份 MySQL
在数据至关重要的今天,对MySQL数据库进行定时备份是保障数据安全的关键操作。而利用crontab可以轻松实现这一需求,下面通过实例为大家详细讲解。
假设我们有一个名为“test_db”的MySQL数据库,用户名为“root”,密码为“password”,我们要将其备份到“/backup/mysql”目录下。
确保备份目录存在。在终端输入“mkdir -p /backup/mysql”,这一步是为了创建备份路径,“-p”参数能确保在父目录不存在时一并创建。
接着,编写备份脚本。使用文本编辑器,例如“nano backup_mysql.sh”,在脚本中输入以下内容:
#!/bin/bash
DATE=$(date +%Y%m%d%H%M%S)
DB_NAME="test_db"
DB_USER="root"
DB_PASSWORD="password"
BACKUP_DIR="/backup/mysql"
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$DATE.sql"
mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE
这段脚本的作用是获取当前时间并格式化为特定字符串,定义数据库名称、用户名、密码、备份目录以及备份文件名,最后通过“mysqldump”命令将数据库备份到指定文件。保存并退出编辑器后,为脚本添加可执行权限,输入“chmod +x backup_mysql.sh”。
现在,配置crontab任务。输入“crontab -e”,这会打开crontab编辑界面。如果希望每天凌晨2点进行备份,在文件中添加“0 2 * * * /path/to/backup_mysql.sh”,这里“0 2 * * *”表示在每天凌晨2点执行,“/path/to/backup_mysql.sh”是备份脚本的完整路径,需根据实际情况替换。
保存并退出后,crontab就会按照设定时间执行备份任务。备份文件将以“数据库名 - 时间.sql”的格式存储在指定目录下,方便查看与管理。
通过以上实例,大家学会了用crontab定时备份MySQL数据库。合理运用这一方法,能有效保障数据安全,降低因意外导致数据丢失的风险。无论是个人项目还是企业级应用,定期备份都是必不可少的操作,大家可以根据自身需求灵活调整备份时间与策略。
- 弹性研发团队的创新探索
- Spring Boot 3 中的 Web 编程
- Node.js 卓越实践(2023 年全新版)
- Go1.21 新特性:泛型库、for 语义变更、统一 log/slog、WASI 等,你了解多少?
- 2022 年度 Rust 调查报告:Rust 采用率持续上升
- 解析流量分发的方法
- 前端开发:不必执着 Typescript,Jsdoc 同样好用
- Swagger用腻了?试试YApi管理接口文档
- 微软.NET 8 最终预览版发布,11 月 14 日推正式版
- 数组结构中的单调栈解析
- Vue 3 中同时使用 Ref 和 Reactive 的原因
- 从源码视角理清循环依赖的解决之道
- Go 面经:算法、并发模型、缓存落盘、etcd、actor 模型
- 14 个实用网站,前端开发者必知
- Go-Zero 令牌桶限流的实现方式