文章目录
- 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_$(date +%Y%m%d_%H%M%S).sql.gz
表示要备份到目标路径,根据实际情况需要将/targetpath
修改成具体的实际路径,dbname
这里可以修改成数据库名,也可以修改其他;$(date +%Y%m%d_%H%M%S)
这里到时候会变成具体的年月日时分秒,不需要修改
将bakup.sh修改成可执行文件,使用以下命令:
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命令进行编辑后无需重启服务
- 查看状态
systemctl status crond
- 重启
systemctl restart crond
- 启动
systemctl start crond
- 停止
systemctl stop crond