mysql脚本 ip数据库_shell脚本编程——mysql数据库备份

本文分享了一个利用shell脚本进行定期MySQL数据库备份,并自动删除十天前备份数据的方法。通过Cron定时任务实现,简化数据库维护工作。

Shell是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。shell可以做一些繁杂且重复的事,用来做数据库备份很合适。分享一个简单的shell脚本做的mysql备份脚本,可以把脚本加入linuxcron定时任务中,能实现定时备份数据,而且删除十天前的数据。

代码如下

#!/bin/bash

#主机

HOST=localhost

#用户名

DB_USER=root

#密码

DB_PWD=adminadmin

#数据库

DBTABASE=gitea

#备份目录

BACKUP=/root/shell/db

#当前时间作为文件名

DATETIME=$(date +%Y_%m_%d_%H%M%S)

#创建备份的路径

[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"

echo “备份路径$BACKUP/$DATETIME 创建成功”

#执行mysql的备份数据库指令

mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz

echo "备份数据库文件$BACKUP/$DATETIME/$DATETIME.sql.gz 成功"

#打包备份文件

cd $BACKUP

tar -zcvf $DATETIME.tar.gz $DATETIME

echo "打包成$DATETIME.tar.gz 成功"

#删除临时目录

rm -rf $BACKUP/$DATETIME

echo "删除临时目录$BACKUP/$DATETIME 成功"

#删除10天前的备份数据

find $BACKUP -mtime +10 -iname "*.tar.gz" -exec rm -rf {} \;

echo "删除$BACKUP目录10天前的备份*.tar.gz数据成功"

echo "================备份文件成功==============="

再加入linuxcron定时任务中,可以实现定时备份数据,而且删除十天前的数据

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值