前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux下实现MYSQL数据库的定时备份

Linux下实现MYSQL数据库的定时备份

原创
作者头像
IT技术分享社区
发布2023-11-19 20:44:38
1.2K0
发布2023-11-19 20:44:38
举报
文章被收录于专栏:IT技术分享社区

1、环境变量配置

这里使用MYSQL自带的备份命令mysqldump,所以首先保证你的服务器正确安装了MySQL数据库,然后配置了如下MySQL环境变量。

代码语言:javascript
复制
vim  /etc/profile

追加一行,一般MySQL数据库默认安装路径都是/usr/local/mysql这个

export PATH=$PATH:/usr/local/mysql/bin

保存退出,然后刷新环境变量

代码语言:javascript
复制
 source /etc/profile

2、创建定时备份脚本

创建 /data/db_bak 目录

代码语言:javascript
复制
mkdir data
cd /data
mkdir db_bak 

新建bak_mysql.sh 定时备份脚本(默认指定3天删除)

代码语言:javascript
复制
vim bak_mysql.sh

脚本内容如下:

代码语言:javascript
复制
#!/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 {} \;

保存退出,然后给脚本增加可执行权限

代码语言:javascript
复制
chmod u+x bak_mysql.sh

手动执行确保脚本可以正常运行

代码语言:javascript
复制
./bak_mysql.sh 

3、定时任务设置

代码语言:javascript
复制
yum install crontabs

编辑定时任务文件,增加MySQL定时备份脚本文件的执行

代码语言:javascript
复制
vim /etc/crontab

内容如下:这里先默认5分钟执行一次

*/5 * * * * /data/db_bak/bak_mysql.sh #每隔五分钟执行一次

30 23 * * * /data/db_bak/bak_mysql.sh #每天23:30执行一次

保存定时任务配置,并立即生效

代码语言:javascript
复制
crontab /etc/crontab

执行效果

4、Crontab参数说明

* * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令

脚本定时执行的案例

代码语言:javascript
复制
#每天的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 

文件定时的案例

代码语言:javascript
复制
#每一小时重启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     

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、环境变量配置
  • 2、创建定时备份脚本
  • 3、定时任务设置
  • 4、Crontab参数说明
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档