电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 708|回复: 0

shell案例:定时备份mysql数据库

[复制链接]
admin 发表于 2022-6-30 11:18:20 | 显示全部楼层 |阅读模式
每天凌晨2:30备份,备份开始和结束给出提示信息,备份文件以日期命名,检查10天前的备份文件删除
  #!/bin/bash
  BACKUP=/data/backup/db
  DATETIME=$(date +%y%m%d)
  # echo $DATETIME (可以输出变量,验证格式是否正确)
  HOST=localhost
  DB_USER=root
  DB_PW=xxxxxx
  DATABASE=discuz
  #创建备份目录,如果不存在,就创建
[ ! -d "${BACKUP}/${DATETIME}" ] && mkdir -p "${BACKUP}/${DATETIME}"
  #备份数据库
  mysqldump -u${DB_USER} -p${DB_PW} --host=${HOST} -q -R --databases ${DATABASE} | gzip > ${BACKUP}/${DATETIME}/$DATETIME.sql.gz
#上面命令完成后,有一个datetime命名的目录,目录里有一个 .sql.gz文件,下面我们要将 datetime命名的目录整个压缩,然后将datetime命名的目录删除
cd ${BACKUP}
tar -zcvf $DATETIME.tar.gz  ${DATETIME}
rm -rf ${BACKUP}/${DATETIME}
#删除10天前的备份文件
find ${BACKUP} -atime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "备份数据库${DATABASE} 成功!"

设置定时计划
crontab -e
30 2 * * * /user/sbin/mysql_db_backup.sh

您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-12-29 15:24 , Processed in 0.165395 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表