Linux自动备份MySQL数据库

目录

  • 1. 创建备份目录
  • 2. 创建自动化备份脚本
  • 3. 执行备份脚本测试
  • 4. 设置每天凌晨两点自动执行

1. 创建备份目录

cd home
mkdir backup

2. 创建自动化备份脚本

vim backup.sh
  • 编辑脚本内容
  • 主机,用户名,密码,备份数据库及备份路径自行填写
#!/bin/bash

#获取当前时间
DATETIME=$(date +%Y_%m_%d_%H%M%S)
#可以输出变量调试
echo $DATETIME

echo "========开始备份========="
echo "========备份路径 $BACKUP/$DATETIME.tar.gz========="

#主机
HOST=xxx

#用户名
DB_USER=xxx

#密码
DB_PASSWOLD=xxx

#备份数据库名
DATABASE=xxx

#备份路径
BACKUP=/home/backup/mysql/$DATABASE

[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
mysqldump $DATABASE -u $DB_USER -p$DB_PASSWOLD | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz

# 打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME

rm -rf $BACKUP/$DATETIME

# 删除30天以前的备份文件
find $BACKUP -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;

echo "=========备份文件成功========="

3. 执行备份脚本测试

bash backup.sh

输出
Linux自动备份MySQL数据库_第1张图片

4. 设置每天凌晨两点自动执行

  • 输入命令 crontab -e 进入 crontab 编辑器。
  • 然后按i进入编辑模式,添加如下内容(自行修改脚本路径)
0 2 * * * /bin/bash /path/to/your/backup.sh
  • 输入完成后保存即可。

你可能感兴趣的:(数据库,linux,mysql)