mysql定期删除半年_mysql 定期备份以及定期删除老旧备份

本文介绍了在CentOS7.4环境下,使用MariasDB 10.2进行MySQL数据库的定期备份和删除老旧备份的脚本实现。备份脚本通过mysqldump逐个数据库备份,并打包为tar.gz文件;删除脚本根据文件修改日期,删除超过15天的备份文件。设置定时任务在每天凌晨3点执行备份,4点执行删除操作。
摘要由CSDN通过智能技术生成

站在巨人的肩膀上

part.0 准备

os: centos7.4

mariadb: 10.2

part.1 mysql 备份脚本

思路:主要是先查询所有的数据库,然后逐个进行备份,最后统一打包。

#!/bin/bash

USER="root"

PASSWORD="********"

#OUTPUT="/root"

OUTPUT="/root/mysqlbackup"

databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`

for db in $databases; do

if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then

echo "Dumping database: $db"

mysqldump -u $USER -p$PASSWORD --databases $db > $OUTPUT/`date +%Y%m%d`.$db.sql

#gzip $OUTPUT/`date +%Y%m%d`.$db.sql

fi

done

tar -zcvf $OUTPUT/`date +%Y%m%d`_mysqlbackup.tar.gz $OUTPUT/*.sql

rm -f $OUTPUT/*.sql

part.2 删除备份脚本

思路:查找是否有修改日期超过15天的备份文件。然后进行删除。

#!/bin/bash

OUTPUT="/root/mysqlbackup"

find $OUTPUT -name "*mysqlbackup.tar.gz" -type -f -mtime +15 -exec rm -rf {} \; > /dev/null 2>&1

~

part.3 建立定时任务

# crontab -e

00 03 * * * /usr/local/src/dump.sh

00 04 * * * /usr/local/src/deletedump.sh

分别在每天的凌晨三点和四点进行备份操作和删除过期操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值