1、环境变量配置
为了使用MySQL自带的备份命令mysqldump,首先需要确保服务器上已正确安装MySQL数据库,并配置以下MySQL环境变量。
vim /etc/profile
在文件中追加一行,通常MySQL数据库的默认安装路径是/usr/local/mysql:
export PATH=$PATH:/usr/local/mysql/bin
保存并退出,然后刷新环境变量:
source /etc/profile
2、创建定时备份脚本
首先创建/data/db_bak目录来存储备份文件:
mkdir /data cd /data mkdir db_bak
接下来,新建一个名为bak_mysql.sh的定时备份脚本(默认设置为3天后删除):
vim bak_mysql.sh
脚本内容如下:
#!/bin/bash
mysqldump -uroot -p12345678 agp | gzip > /data/db_bak/agp$(date +%Y%m%d_%H%M%S).sql.gz
# 定时清理,只保留3天的数据库备份
find /data/db_bak/ -mtime +3 -name "*.sql.gz" -exec rm -rf {} \;保存并退出,然后为脚本添加可执行权限:
chmod u+x bak_mysql.sh
手动执行脚本以确保其能正常运行:
./bak_mysql.sh
3、定时任务设置
安装crontabs以设置定时任务:
yum install crontabs
编辑定时任务文件,添加MySQL定时备份脚本的执行:
vim /etc/crontab
内容如下,默认设置为每5分钟执行一次:

*/5 * * * * /data/db_bak/bak_mysql.sh #每隔五分钟执行一次 30 23 * * * /data/db_bak/bak_mysql.sh #每天23:30执行一次
保存定时任务配置并立即生效:
crontab /etc/crontab
执行效果:

4、Crontab参数说明
Crontab的时间格式为:分钟 小时 日 月 周 命令。具体解释如下:

脚本定时执行的案例:
# 每天的30:23 执行 30 23 * * * /data/db_bak/bak_mysql.sh # 每隔10分钟 执行 */10 * * * * /data/db_bak/bak_mysql.sh # 每周一的 17:00 执行 0 17 * * 1 /data/db_bak/bak_mysql.sh # 8:02,11:02,14:02,17:02,20:02 执行 2 8-20/3 * * * /opt/script/backup.sh
文件定时的案例:
# 每一小时重启nginx * */1 * * * /etc/init.d/nginx restart # 每晚的21:30重启 nginx 30 21 * * * /etc/init.d/nginx restart # 每月的4号与每周一到周三 的11点重启nginx 0 11 4 * mon-wed /etc/init.d/nginx restart # 每天18:00至23:00之间每隔30分钟重启nginx 0,30 18-23 * * * /etc/init.d/nginx restart
以上就是Linux下实现MYSQL数据库的定时备份的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号