Centos实现快速定时备份MySQL数据库,Linux备份MySQL数据库方法,本文以centos7为例,步骤如下:
1、新建backup目录,在目录下创建备份脚本bakup_script.sh,并创建directory文件夹用于存放备份的数据库文件
#!/bin/bash # MySQL数据库信息 DB_USER="root" DB_PASSWORD="root" DB_NAME="mydb" # 备份文件存放目录 BACKUP_DIR="/backup/directory" # MySQL和其他命令路径(如果不在默认路径中) MYSQL=/usr/local/mysql MYSQLDUMP=/usr/local/mysql/bin/mysqldump MKDIR=/usr/bin/mkdir RM=/usr/bin/rm FIND=/usr/bin/find # 备份文件名中添加时间戳 NOW=$(date +"%Y-%m-%d-%H-%M-%S") FILE="$BACKUP_DIR/$DB_NAME-$NOW.sql" # 创建备份文件目录 $MKDIR -p $BACKUP_DIR # 使用mysqldump备份数据库 $MYSQLDUMP -u $DB_USER -p$DB_PASSWORD --quick $DB_NAME > $FILE # 检查备份是否成功 if [ $? -eq 0 ]; then echo "MySQL backup successful to $FILE" else echo "MySQL backup failed" fi # 可选:保留最近几个备份文件(假设只保留最近5个) $FIND $BACKUP_DIR -name "$DB_NAME-*.sql" -type f -mtime +5 -exec $RM -f {} \; # 结束脚本 exit 0
这里设置了备份文件保留时间,可根据自己的实际情况,对其进行设置。
2、通过 chmod 命令添加执行权限:
chmod +x /home/backup/backup_script.sh
3、安装crond服务
yum install crontabs
服务操作说明:
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig –level 35 crond on
3、加入定时任务
crontab -e
设置定时执行执行:这里设置成每天凌晨0点执行备份操作
0 0 * * * /home/bakup_script.sh >/dev/null 2>&1
说明:这样就完成了MySQL数据库的定时备份,并生成sql文件,后续可以通过sql文件进行还原备份。需要注意的是.sh脚本要赋予可自行权限。
文章评论(0)