利用crontab系统每天定时备份MySQL数据库及删除指定crontab定时任务
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
1 | mkdir /mysqldata |
2、创建/usr/sbin/bakmysql文件
1 | vi /usr/sbin/bakmysql |
输入
1 2 | rq=` date +%Y%m%d ` tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql |
/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同
/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。
3、修改文件属性,使其可执行
1 | chmod +x /usr/sbin/bakmysql |
4、修改/etc/crontab
1 | vim /etc/crontab |
在下面添加
1 | 00 3 * * * root /usr/sbin/bakmysql |
表示每天3点钟执行备份
5、重新启动crond
1 | service crond restart |
完成。
这样每天你在/mysqldata可以看到这样的文件
1 | mysql20040619.tar.gz |
linux下删除指定crontab定时任务
1、新建两个脚本文件用来进行测试
test1.sh
1 | ping 114.114 . 114.114 |
test2.sh
1 | ping 8.8 . 8.8 |
2、通过crontab -e命令编辑crontab任务,增加内容如下(时间间隔为1秒钟):
1 2 | */ 1 * * * * /dd/shell/test1.sh */ 1 * * * * /dd/shell/test2.sh |
添加完成后,查看下crontab内容:
1 2 3 | [root @localhost shell]# crontab -l */ 1 * * * * /dd/shell/test1.sh */ 1 * * * * /dd/shell/test2.sh |
增加了crontab任务后,在/var/spool/cron目录下会有一个当前登录账号命名的文件。比如我的登录账号是root。则会存在一个root文件。该文件的内容就是刚添加的crontab任务。
1 2 3 | [root @localhost cron]# cat /var/spool/cron/root */ 1 * * * * /dd/shell/test1.sh */ 1 * * * * /dd/shell/test2.sh |
3、删除crontab内容里的test2.sh的任务
其实该处是使用sed命令来处理/var/spool/cron/root 文件,将含test2.sh的行的内容删除掉。
1 | sed -i '/test2.sh/d' /var/spool/cron/root |
命令执行完后,再通过crontab -l命令查看。
1 2 | [root @localhost shell]# crontab -l */ 1 * * * * /dd/shell/test1.sh |
可以看到test2.sh的任务被删除掉了。通过观察,test2.sh的脚步也不再被执行。说明确实删除成功。
4、删除crontab内容空白行
在执行完上面的sed -i的命令后,crontab -l会发现多出一行空白,如果你觉得看的别扭,你可再通过如下sed命令把空白行删除掉。
1 | sed -i '/^$/d' /var/spool/cron/root |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构