Liunx定时备份MySQL数据库

记录一下定时备份数据库的方法

Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这个就可以设置定时任务去执行相应的操作。

所以,我们通过创建一个shell文件,把执行的命令放在里面,然后再用crontab去定时执行就可以达到我们想要的效果了。

创建一个文件夹存放备份文件

这里我是放在/home/deployer路径下

cd /home/deployer
mkdir backup
创建备份的shell文件

touch back_sql.sh

编辑这个脚本:vim back_mysql.sh

如果没有vim在安装一下:yum -y install vim*

脚本内容格式如下:

#!/bin/bash

/usr/local/mysql/bin/mysqldump(这个路径是你mysqldump所在路径) -u用户名 -p密码 数据库名 > /home/backup/数据库名_$(date +%Y%m%d_%H%M%S).sql

如果你要备份成压缩文件的话,可以写成下面这个命令

#!/bin/bash

/usr/local/mysql/bin/mysqldump -u用户名 -p密码 数据库名 | gzip > /home/backup/数据库名_$(date +%Y%m%d_%H%M%S).sql.gz

这个是我的sh

#!/bin/bash

/home/server/mysql/bin/mysqldump -uroot -p123456 xh_wx > /home/deployer/backup/xh_wx_$(date +%Y%m%d).sql

添加好后记得保存

:wq          -保存文件,退出 vim
:wq!        -强制保存文件,退出 vim
:q            -不保存文件,退出 vim
:q!          -不保存文件,强制退出 vim
修改脚本权限
chmod 777 back_sql.sh
或者
chmod u+x back_sql.sh
测试

测试一下这个shell是否能执行,输入文件名即可直接执行
./back_mysql.sh

执行后去backup文件夹里看看,是否有导出来的文件

在crontab中设置定时任务
先检查一下是否安装:如果已安装则请略过
安装命令
yum -y install vixie-cron
yum -y install crontabs

在CentOS系统中加入开机自动启动: 
chkconfig --level 345 crond on

输入命令进入crontab任务设置 : crontab -e

在里面添加以下命令: 00 02 * * * /home/deployer/backup/back_sql.sh

image-20210605175724982

然后保存退出

“ 00 02 * * * ”是crontab的时间规则,即执行周期,我写的这句解析后就是每天的 02:00 执行一次该目录下的那个bk_mysql.sh文件. 执行周期可以按照自己的需求来设定

crontab的格式很灵活,每天每小时,具体哪一天都可以设置。在这里就不展开说明了

运行一段时间的效果,这是我服务器上的备份文件

image-20210605180027697

个人博客,欢迎大家来访:https://zhaoshuchao.top

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值