[linux] MySql 定时备份数据库

  • 创建备份目录、编写脚本文件

mkdir /opt/Mysql_Bak/
vim /opt/Mysql_Bak/mysql_bak.sh

  • 脚本文件内容
#!/bin/sh
########文件名称为当天时间#############
time=`date '+%Y-%m-%d %H:%M:%S'`
echo $time
echo '开始备份数据库..'
###################数据库配置信息#######################
user=数据库帐号
passwd=数据库密码
dbname=需要备份的数据库名称
mysql_back_path=/opt/Mysql_Bak/
###################数据库备份信息#######################
/usr/local/mysql/bin/mysqldump -h127.0.0.1 -u$user -p$passwd $dbname | gzip > $mysql_back_path/$time.sql.gz
echo '数据库备份完成'

#删除当前日期-8的备份
oldDate=`date --date='8 day ago' +%Y-%m-%d`;
rm -rf $oldDate*;
echo "删除$oldDate的备份成功"
  • 脚本授权

chmod u+x /opt/Mysql_Bak/mysql_bak.sh

  • 加入定时任务

// 打开crontab编辑模式,添加一行配置(每天凌晨一点执行)
crontab -e

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/Mysql_Bak
0 1 * * * /opt/Mysql_Bak/mysql_bak.sh > /opt/Mysql_Bak/mysql_bak.out 2>&1

// 查看是否加入成功
crontab -l

// 重新加载配置
/bin/systemctl reload crond.service

你可能感兴趣的:([linux] MySql 定时备份数据库)