MySQL数据库备份

时间:2021-10-08 01:34:45
#!/bin/bash
# File: /home/backup/backup.sh
#Database info
DB_NAME=“***"
DB_USER=“***"

DB_PASS=“***"

# Other vars
BIN_DIR="
/usr/local/mysql/bin"
BCK_DIR="
/home/backup/***"
DATE=` date +%y%m%d `
LAST_MOUTH_DATE=` date -d '1 month ago' +%y%m%d `
# 备份文件的系统目录
SYSTEM_DIR=/home/wwwroot/***/
#备份名称
BCK_NAME_DB=***
BCK_NAME_WWW=***

# Todo
# 检测备份存放目录时候存在
if [ ! -d "
$BCK_DIR/$DATE" ];then
mkdir "
$BCK_DIR/$DATE"
fi

# 开始备份数据库
$BIN_DIR/mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BCK_DIR/$DATE/$BCK_NAME_DB.sql

# 开始备份网站
if [ ! -f "
$BCK_DIR/$DATE/$BCK_NAME_WWW.tar.gz" ]; then
# 打包为tar文件
tar -cf $BCK_DIR/$DATE/$BCK_NAME_WWW.tar $SYSTEM_DIR
# gzip压缩
gzip -r $BCK_DIR/$DATE/$BCK_NAME_WWW.tar
fi

# 删除一个月之前的备份文件
if [ -d "
$BCK_DIR/$LAST_MOUTH_DATE" ]; then
rm -rf "
$BCK_DIR/$LAST_MOUTH_DATE"
fi

设置定时任务 vi /etc/crontab

#数据库备份 每天凌晨5点执行备份
0 5 * * * root /home/backup/backup.sh

欢迎加入PHP技术交流群(478642311)