mysql5.7 自动备份_MySQL 5.7 CentOS 7.4 每天备份一次和恢复

本文介绍了如何在CentOS 7.4上为名为test的数据库设置MySQL 5.7的自动备份。通过编写备份脚本`mysql_auto_backup.sh`并使用crontab进行定时任务配置,实现每天4点自动备份。同时,文中还提供了恢复数据库的方法及检查crontab任务执行情况的步骤。
摘要由CSDN通过智能技术生成

1. 给名为test的数据库,写备份脚本 mysql_auto_backup.sh:

#!/bin/sh

DATABASE_Name=test

# current running shell path

BASEPATH=$(cd `dirname $0`; pwd)

DATABASE_BACKUP_PATH=$BASEPATH/ppwkBackup

echo "Begin backup $DATABASE_Name database..."

if [ ! -d $DATABASE_BACKUP_PATH ];then

mkdir -p $DATABASE_BACKUP_PATH

fi

# begin to backup database

/usr/local/mysql/bin/mysqldump -Y -F -E -x -l -u root -padx^1pk_u7Yv --default-character-set=utf8mb4 --add-drop-database --add-drop-table --add-locks --add-drop-trigger -B $DATABASE_Name > $DATABASE_BACKUP_PATH/mysqlbackup-`date +%Y-%m-%d-%H%M%S`.sql

if [ 0 -eq $? ];then

echo $(date +"%Y-%m-%d %H:%M:%S") "$DATABASE_Name Database backup success!" >> /root/DBBackLog.log                                                                                                                                    sync

else

echo $(date +"%Y-%m-%d %H:%M:%S") "$DATABASE_Name Database backup error!" >> /root/DBBackLog.log

exit

fi

# Delete beyond 15 days backup sql files

find $DATABASE_BACKUP_PATH/ -mtime +15 -name "*.sql" -exec rm -rf {} \;

echo "Backup $DATABASE_Name database finished!"

# recovery $DATABASE_Name database

# mysql -hlocalhost -uroot -p123456 --database $DATABASE_Name< mysqlbackup-2018-05-23-13:44:42.sql

更改备份脚本 mysql_auto_backup.sh为可执行权限:

chmod +x mysql_auto_backup.sh

注意:crontab执行的脚本的mysqldump命令要用绝对路径,不能用相对路径,不然不能备份数据

2. 添加备份脚本到crontab的定时任务中:

查看crontab系统任务调度的配置文件:

cat /etc/crontab

1d12575749ba0eaddf98db5793564ed4.png

crontab -e

0 4 * * * /data/mysql/mysql_auto_backup.sh > /dev/null 2>&1

每天4点执行一次备份。

查看是否添加到crontab定时任务中:

crontab -l

5b3ab99077697cfb89047d211be4e8b1.png

或者查看日志看某个job有没有执行/报错 :

tailf /var/log/cron

crond 状态、重新加载和重启:

service crond status 或者 systemctl status crond

service crond reload 或者 systemctl reload crond

service crond restart 或者 systemctl restart crond

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值