定时备份和删除脚本
脚本中的变量需要改为自己的数据库信息
#!/bin/bash
#完成数据库的定时备份
#备份的路径
BACKUP=/data/backup
#当前的时间作为文件名
DATETIME=$(date +%Y%m%d%H%M%S)
#可以输出变量调试
#echo ${DATETIME}
#用户名
DB_USER=root
#密码
DB_PWD=123456
#备份数据库名
DATABASE=db_data
echo "==========开始备份==========="
BACKUP_FILENAME="${BACKUP}/${DATABASE}_${DATETIME}.sql.gz"
echo "备份时间: ${DATETIME}"
echo "备份路径: ${BACKUP_FILENAME}"
#创建备份的路径
#如果备份的路径文件夹存在就使用,否则创建
if [ ! -d "$BACKUP" ]; then
mkdir -p "$BACKUP"
fi
#执行mysql的备份数据库的指令
mysqldump -u${DB_USER} -p${DB_PWD} --databases $DATABASE | gzip > $BACKUP_FILENAME
#删除3天前的备份文件(-exec rm -rf {} \是固定写法,删除查询出来的数据)
find $BACKUP -mtime +3 -name "*.sql.gz" -exec rm -rf {} \;
echo "==========备份完成==========="
配置 crontab
# 每周执行一次数据备份
0 0 * * 0 bash /data/backup_data.sh