【终端】CentOS7下设置MySQL的自动备份

本文使用Xshell作为虚拟机连接的工具

简介

本文使用CentOS系统,使用命令行的方式自动备份MySQL数据

软件

  • VMWare15
  • CentOS7
  • MySQL5.7

过程

这里的备份信息如下:
备份的数据库为zenith_star
备份文件夹路径为/home/mysql/backup
备份文件的格式为zenith_star_2021-06-15-12-00-00.sql
备份脚本为zenithstar_backup.sh
备份的时间为凌晨1点1分
保留最近30天的备份文件
具体的格式请按照实际需求处理

一、创建备份文件夹
[root@localhost mysql]# mkdir /home/mysql/backup
二、创建备份脚本

脚本文件的执行需要使用mysqldump指令和数据库的账号密码信息,但是脚本文件中不能直接写入账号密码信息,因此需要在my.cnf文件中,增加mysqldump的内容,并预先增加需要使用的账号密码信息

1、设置mysqldump指令信息
(1)编辑my.cnf文件

[root@localhost mysql]# vi/etc/my.cnf

(2)在最下方增加mysqldump的信息

具体的账号密码信息请按照实际需求处理

[mysqldump]
user=root
password=123456

2、创建脚本

(1)创建脚本文件

[root@localhost mysql]# touch zenithstar_backup.sh

(2)编写备份脚本内容

#!/bin/bash

#在此设置要备份的数据库名
DBNAME="zenith_star" 
#备份数据存放位置			
BACKDIR="/home/mysql/backup/" 
#获取系统时间
DATE=`date +%Y-%m-%d-%H-%M-%S`
#备份文件名以时间命名	
FILENAME=${DBNAME}_${DATE}.sql 

#进入备份目录
cd ${BACKDIR} 

#备份数据库
mysqldump --databases zenith_star > ${BACKDIR}${FILENAME}

#删除近30天文件
find ${BACKDIR} -mtime +29 -name "*.sql" -exec rm -rf {} \;

(4)为脚本文件添加权限

[root@localhost mysql]# chmod +x zenithstar_backup.sh
三、配置计划任务

(1)编辑crontab文件

[root@localhost mysql]# crontab -e

(2)设置定时任务

#这里设置为凌晨1点01分,减少服务器压力
1 1 * * * /home/mysql/zenithstar_backup.sh

(3)重启crontab

[root@localhost mysql]# systemctl restart crond
Corntab的格式解析

corntab的格式为:* * * * * commond

下表为格式从上向下显示

标识内容范围
*分钟1-59
*小时0-23
*日期1-31
*月份1-12
*星期0-7,周日为0或7
commond操作内容这里可以填写需要执行的脚本
示例:

(1)在23点50分执行/home/mysql/doWork.sh脚本

50 23 * * * /home/mysql/doWork.sh

(2)在工作日(周一到周五)的凌晨2点15分执行/home/mysql/doWork.sh脚本

15 2 * * 1-5 /home/mysql/doWork.sh
15 2 * * 1,2,3,4,5 /home/mysql/doWork.sh

(3)每个5分钟执行一次/home/mysql/doWork.sh脚本

*/5 * * * * /home/mysql/doWork.sh

(4)在9月9日19点19分执行/home/mysql/doWork.sh脚本

19 19 9 9 * /home/mysql/doWork.sh
Corntab的常用指令
service crond start    //启动服务
service crond stop     //关闭服务
service crond restart  //重启服务
service crond reload   //重新加载
service crond status   //查看状态 
crontab –e             //增加/修改 crontab 文件(如果不存在则创建,如果存在则修改) 
crontab –l             //显示 crontab 文件 
crontab -r             //删除 crontab 文件
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值