文章目录

  • 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进行保存并退出操作

对以上内容的解释:

  1. #!/bin/bash 固定
  2. cd /opt/mysql/bin 切换到mysql的bin目录,读者根据实际路径进行修改
  3. ./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,那么这里就应该是-p123456dbname表示要备份的数据库名
    | 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进行保存退出操作
对以上说明:

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

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

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