当前位置:首页 > 行业动态 > 正文

CentOS系统mysql数据库自动备份脚本

CentOS系统MySQL数据库自动备份脚本

1. 创建备份目录

在开始编写备份脚本之前,首先需要创建一个用于存放备份文件的目录,这里我们创建一个名为mysql_backup的目录:

mkdir p /data/mysql_backup 

2. 编写备份脚本

接下来,我们需要编写一个用于备份MySQL数据库的脚本,在这个脚本中,我们将使用mysqldump命令来导出数据库,并将导出的文件保存到刚刚创建的mysql_backup目录中。

CentOS系统mysql数据库自动备份脚本

vi /usr/local/bin/mysql_backup.sh 

将以下内容粘贴到脚本文件中:

#!/bin/bash
设置MySQL连接信息
MYSQL_USER="your_username"
MYSQL_PWD="your_password"
MYSQL_HOST="localhost"
MYSQL_PORT="3306"
设置要备份的数据库名
DATABASE_NAME="your_database_name"
设置备份目录和文件名
BACKUP_DIR="/data/mysql_backup"
DATE=$(date +%Y%m%d)
BACKUP_FILE="$BACKUP_DIR/${DATABASE_NAME}_${DATE}.sql"
使用mysqldump命令导出数据库
mysqldump u$MYSQL_USER p$MYSQL_PWD h$MYSQL_HOST P$MYSQL_PORT $DATABASE_NAME > $BACKUP_FILE
如果备份成功,输出成功信息
if [ $? eq 0 ]; then
  echo "MySQL backup successfully completed at $DATE"
else
  echo "Error occurred during backup at $DATE"
fi 

替换your_usernameyour_passwordyour_database_name为实际的MySQL用户名、密码和要备份的数据库名。

3. 设置脚本执行权限

给脚本添加可执行权限:

CentOS系统mysql数据库自动备份脚本

chmod +x /usr/local/bin/mysql_backup.sh 

4. 配置定时任务

为了让脚本能够自动执行,我们需要配置一个定时任务,这里我们使用crontab来实现。

打开当前用户的crontab配置文件:

crontab e 

在文件末尾添加以下内容,表示每天凌晨1点执行备份脚本:

CentOS系统mysql数据库自动备份脚本

0 1 * * * /usr/local/bin/mysql_backup.sh >> /tmp/mysql_backup.log 2>&1 

保存并退出,现在,每天凌晨1点,系统会自动执行mysql_backup.sh脚本,将MySQL数据库备份到指定目录,并将日志输出到/tmp/mysql_backup.log文件中。