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
图一

***图一的,文件时间不同,说明每次执行备份就将原来的删除掉。
图二

图三

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

被折叠的 条评论
为什么被折叠?



