Mysql全库简单备份shell脚本

该文章描述了一个bash脚本,用于每天凌晨3点通过mysqldump进行MySQL全库备份,备份文件会被压缩并在同一目录下存储。脚本还会自动删除7天以前的旧备份,以保持磁盘空间。通过crontab设置定时任务,确保脚本按计划执行。
摘要由CSDN通过智能技术生成

需求:每天凌晨3点备份mysql全库,需要压缩后保存,并且删除7天以前的备份文件。

#!/bin/bash
  
# 定义变量
DB_USER="root"
DB_PASS="123456"
BACKUP_DIR="/databak"
DATE=$(date +%Y-%m-%d)

# 创建备份目录
if [ ! -d "$BACKUP_DIR/$DATE" ]; then
  mkdir -p $BACKUP_DIR/$DATE
fi
# 备份所有数据库
mysqldump -u $DB_USER -p$DB_PASS --all-databases > $BACKUP_DIR/$DATE/$DATE.sql

# 压缩备份文件
cd $BACKUP_DIR
tar -czvf $DATE.tar.gz $DATE

# 删除原始备份文件
rm -rf $BACKUP_DIR/$DATE

# 删除7天前的备份文件
find $BACKUP_DIR -name "*.tar.gz" -type f -mtime +7 -exec rm {} \;

执行过程与结果:

 设置任务计划定时执行备份脚本:

追加任务计划
echo "0 3 * * * /store/mysql_backup.sh" >> /etc/crontab

重启任务计划
systemctl restart cron

查看生效的任务计划
crontab -l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值