Linux-定时备份mysql数据库数据

该博客介绍了如何使用Linux shell脚本来实现每天凌晨2:10定时备份MySQL数据库ft,文件以日期命名并压缩为.tar.gz。同时,脚本会检查并删除30天前的旧备份,确保磁盘空间的有效管理。通过赋予脚本执行权限并进行测试,确保备份流程顺利进行。
摘要由CSDN通过智能技术生成

定时备份mysql某库数据

场景

需要对线上的数据库中重要数据进行备份。有几点要求
1.需要每天凌晨12:10备份[这个可以使用cron],备份数据库ft到/home/backup/db下
2.备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如2020-10-23.tar.gz
3.在备份的同时,检查是否有30天前备份的数据库文件,如果有将其删除

脚本准备

mysql_bak.sh

#!/bin/bash
:<<!
	1.每天凌晨2:10备份cron,数据库xkes到/home/backup/db下
	2.备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如2020-10-23.tar.gz
	3.在备份的同时,检查是否有30天前备份的数据库文件,如果有将其删除
!
backup_url=/home/backup/db
backup_file_name=$(date +"%Y-%m-%d")


echo "=======开始备份的时间:$backup_file_name======="
echo "=======此次备份的文件路径是:$backup_url/$backup_file_name.tar.gz======="

host=localhost
port=3307
db_user=root
db_pwd=root
database=ft
# 如果备份的文件路径存在就不创建,不存在则创建
[ ! -d $backup_url/$backup_file_name ] && mkdir -p $backup_url/$backup_file_name
# 执行mysql的备份数据库命令
mysqldump -u $db_user -p$db_pwd -d $database --port $port --host $host  > $backup_url/$backup_file_name/$backup_file_name.sql
# 进入到备份的路径
cd $backup_url
# 将$backup_file_name打包
tar -zcvf $backup_file_name.tar.gz  $backup_file_name
# 删除$backup_file_name目录
rm -rf $backup_url/$backup_file_name

# 删除30天前的备份 
find $backup_url -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;


echo "=======备份文件成功,备份结束========"

授予脚本可执行权限

root@5beac1d30f6c:/home# chmod 744 mysql_bak.sh

脚本测试结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值