Linux下使用crontab对MYSQL进行备份以及定时清
Linux下使用crontab对MYSQL进行备份以及定时清
数据备份是一个项目必需的工作,保证数据库出问题时,将损失减小到最低。本文记录下linux服务器中使用脚本对MYSQL数据备份,并且定时清除7天前的备份。
crontab定时备份
说明:linux crontab命令可以实现定时执行任务,最小的执行周期是1分钟
1、创建备份目录
# root 用户,创建备份目录
mkdir -p /bak/mysqlbak
cd /bak/mysqldata
2、编写运行脚本
1 vi /usr/sbin/bakmysql.sh 2 3 脚本代码: 4 5 #!/bin/bash 6 7 # Name:bakmysql.sh 8 9 # This is a ShellScript For Auto DB Backup and Delete old Backup 10 11 # 12 13 backupdir=/bak/mysqlbak 14 15 time=` date +%Y%m%d%H ` 16 17 /usr/local/mysql/bin/mysqldump -h rm***aliyuncs.com -u root -p*** huishi | gzip > $backupdir/huishi$time.sql.gz 18 19 # 20 21 find $backupdir -name "huishi*.sql.gz" -type f -mtime +7 -exec rm {} ; > /dev/null 2>&1
如下图:
#说明:
1)此处的/usr/local/mysql/bin/是mysqldump命令所在的绝对路径
2)-h 主机地址 对于本地数据库默认是localhost,远程的数据库服务器,则填写具体地址
3)最后一句表示删除文件更改时间距现在7天以前的数据备份文件
3、为脚本添加执行权限
# chmod +x /usr/sbin/bakmysql.sh
4、设置crontab定时执行
vi /etc/crontab
#在最后一行中加入:
00 3 * * * root /usr/sbin/bakmysql.sh
1) 定时执行
#表示每天3点00分执行备份
#如果是每五分钟执行一次可改为:*/5 * * * * root /usr/sbin/bakmysql.sh2) 指定时间段,定时执行
从早晨7:30 - 9:30,每10分钟运行一次。按照语法写了如下命令:
30/10 7-9 * * * root /usr/sbin/bakmysql.sh
注:crontab配置文件格式如下:
分 时 日 月 周 命令
5、重启crontab
service crond restart
6、验证查看
在定时执行的命令完成后,可点击目录查看是否有有文件正确生成
cd /bak/mysqlbak
ls -a
--------------------------------------补充分割线---------------------------------------------
1)若要添加定时执行php命令的任务,可以采用sudo crontab -e
2)然后用sudo crontab -l 来查看定时任务列表
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)