Centos7自动备份mysql数据库

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45754572/article/details/102723215

文章目录
1 新建可执行文件
2 添加到Centos7定时执行的任务中

本文所有的操作是基于root用户执行的
Centos7自动备份mysql主要是使用crontab命令来定时执行备份mysql的语句

1 新建可执行文件
需要新建一个可执行的文件,如bakup.sh

mkdir /root/bakup
cd /root/bakup
vim bakup.sh

bakup.sh内容如下:

#!/bin/bash
cd /opt/mysql/bin
./mysqldump -uusername -ppassword dbname | gzip > /targetpath/dbname_$(date +%Y%m%d_%H%M%S).sql.gz

编辑完成后按Esc键,接着输入:wq进行保存并退出操作
对以上内容的解释:

#!/bin/bash
固定
cd /opt/mysql/bin
切换到mysql的bin目录,读者根据实际路径进行修改
./mysqldump -uusername -ppassword dbname | gzip > /targetpath/dbname_$(date +%Y%m%d_%H%M%S).sql.gz
./mysqldump为当前mysql的bin目录下可执行命令
-uusername中-u表示接下来后面接着是mysql的用户名,比如用户名是zhangsan,那么这里就应该是-uzhangsan
-ppassword中-p表示接下来后面接着是mysql相对用户名的密码,比如mysql的用户名zhangsan的密码是123456,那么这里就应该是-p123456
dbname表示要备份的数据库名
| gzip表示需要进行压缩

/targetpath/dbname_ ( d a t e + (date +%Y%m%d_%H%M%S).sql.gz表示要备份到目标路径,根据实际情况需要将/targetpath修改成具体的实际路径,dbname这里可以修改成数据库名,也可以修改其他; (date +%Y%m%d_%H%M%S)这里到时候会变成具体的年月日时分秒,不需要修改
``

cd /root/bakup
chmod +x bakup.sh

2 添加到Centos7定时执行的任务中
使用crontab命令来定时执行上面的可执行文件
使用以下命令进行编辑要执行的任务:

crontab -e

使用以上命令后,会进入编辑模式与使用使用vim进入的编辑模式类似
需要编辑的内容的具体格式可自行查找资料,这里就简单举个例子如下:

0 0 * * * /root/bakup/bakup.sh

编辑完成后按Esc键,接着输入:wq进行保存退出操作
对以上说明:

0 0 * * *为定时执行的时间,这个格式参考cron的时间表达式
/root/bakup/bakup.sh为具体的要执行的文件

注:需要先查看下crond的状态看其是否启动,如果没有启动需要用以下启动命令进行启动,如果crond服务已经启动了,再使用crontab -e命令进行编辑后无需重启服务

1.查看状态systemctl status crond
2.重启systemctl restart crond
3.启动systemctl start crond
4.停止systemctl stop crond

猜你喜欢

转载自blog.csdn.net/weixin_45754572/article/details/102723215
今日推荐