linux下定时备份数据库

本文详细介绍了一种自动化MySQL数据库备份的方法,通过编写并运行Shell脚本来实现数据库的定期备份和旧备份文件的自动清理。步骤包括:切换目录、创建备份文件夹、编写Shell脚本、设置权限、测试脚本及添加定时任务。此外,还提供了具体的脚本代码和操作指令,确保备份文件的时效性和准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.切换到家目录

cd /home

2.创建备份数据库文件夹

mkdir backsql

3.切换到

cd backsql

4.编写 shell 脚本

vim bkblog.sh
#!/bin/bash
# Name:bkblog.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#备份地址
backupdir=/home/backsql
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S `
#需要备份的数据库名称
db_name=test
#mysql 用户名
db_user=root
#mysql 密码
db_pass=123456
mysqldump -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
#删除一分钟之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mmin +1 -exec rm -rf {} \; > /dev/null 2>&1

5.添加权限

chmod u+x bkblog.sh

6.测试 shell ok 不?

./bkblog.sh

7添加定时任务

crontab -e

***如果不存在 crontab

yum -y update
yum -y install cronie yum-cron

8.写入定时任务,(每分执行一次 shell )

*/1 * * * * /home/backup/bkblog.sh

***每次改动都要重新启动定时任务

systemctl reload crond
systemctl restart crond

图一
在这里插入图片描述
***图一的,文件时间不同,说明每次执行备份就将原来的删除掉。

图二
在这里插入图片描述
图三
在这里插入图片描述
*** 图二 和 图三的文件分别为备份的数据和本地数据大小一样,说明数据无错误。

大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值