定时备份和删除脚本
脚本中的变量需要改为自己的数据库信息
#!/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