linux中定时执行脚本备份数据库


前言

通过crontab定时执行shell脚本实现备份mysql数据库


一、编写shell脚本

在/usr/local/mysql目录下创建mysql_backup.sh文件

touch /usr/local/mysql/mysql_backup.sh

添加脚本内容

vim /usr/local/mysql/mysql_backup.sh

脚本内容如下:

#配置信息
DB_USER="root"          # MySQL 用户名
DB_PASSWORD="123456"   # MySQL 密码
DB_NAME="test"          # 要备份的数据库名称
DATE=$(date +%Y%m%d_%H%M)     # 当前日期时间,用于生成唯一的备份文件名
#存储位置
mkdir -p /mysqldata    #创建mysql备份脚本存储位置
# 执行备份命令   /usr/local/mysql 为mysql安装目录
/usr/local/mysql/bin/mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME |gzip > /mysqldata/$DATE.sql.gz

# 删除超过15天的旧备份文件(查找/mysqldata目录下名称为.sql.gz同时修改时间为15天之前的删除)
find /mysqldata -type f -name *.sql.gz -mtime +15 -exec rm {} \;

添加文件权限

chmod +x /usr/local/mysql/mysql_backup.sh

二、创建定时任务

修改crontab

 crontab -e

添加内容

#每天凌晨1点执行/usr/local/mysql/mysql_backup.sh脚本文件并将日志保存到/usr/local/mysql/mysql_backup.log文件中
0 1 * * * /usr/local/mysql/mysql_backup.sh > /usr/local/mysql/mysql_backup.log 

脚本文件解析

* * * * * command
- - - - -
| | | | |
| | | | ----- Day of the week (0 - 7) (Sunday is both 0 and 7)
| | | ------- Month (1 - 12)
| | --------- Day of the month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

总结

以上就是简单通过定时任务执行shell脚本实现定时备份mysql数据库功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值