Linux定时备份数据库

目的:容灾(怕在外打野家被偷了)

最终效果:

  1. 每天凌晨2:30备份数据库
  2. 删除7天前备份(Linux Shell)
#1.创建备份目录
mkdir /data/backup/db
2.创建脚本
vim /data/backup/mysql_db_backup.sh
#!bin/bash
#mysql配置信息
NOW=$(date +%Y%m%d-%H%M%S)
MYSQL_USER="账号"
MYSQL_PWD="密码"
MYSQL_HOST="localhost"
MYSQL_DUMP_DB="数据库名"
MYSQL_CONN="mysql -u$MYSQL_USER -p$MYSQL_PWD --host $MYSQL_HOST"
MYSQL_DUMP="mysqldump $MYSQL_CONN --databases $MYSQL_DUMP_DB"
#/data/backup/db/为存放备份数据的地址
BACKUP_DIR="/data/backup/db/$MYSQL_DUMP_DB"
#若不存在备份目录则创建
[ ! -d "${BACKUP_DIR}" ] && mkdir "${BACKUP_DIR}"
#备份数据库
${MYSQL_DUMP} | gzip > "${BACKUP_DIR}/${NOW}.sql.gz"
echo "BACKUP ${BACKUP_DIR}/${NOW}.sql.gz $?"
#删除7天前备份
find ${BACKUP_DIR} -ctime +7 -name "*.gz" -exec rm -rf {} \;
#编辑任务调度文本
crontab -e
#每天凌晨2:30定时调用备份脚本(刚才创建好的shell脚本)
30 2 * * * sh /data/backup/mysql_db_backup.sh
可以先进入shell文件目录,用./mysql_db_backup.sh命令测试是否备份成功

然后在备份目录中能看到备份的文件

-rw-r--r-- 1 root root 272121 Apr 11 15:17 20220411-151718.sql.gz

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值