Linux-crontab定时任务

前言:

来到新的公司有段时间了。之前就一直CodingCoding,现公司虽然系统啊各方面没有阿里成熟,技术用的也不是很新,但正岗还是比外包岗位好吧,而且公司飞速发展感觉前景还是不错的。同事相处的也挺好,而且我已经是吃饭小分队的队长了。~.~。最近老大分配了个活,一个单节点系统的扩增升级为两台。说实话之前没做过~而且这个系统的SLB居然是要通过DNS系统轮训做的。该篇文章记录下遇见的问题以及解决方式:

1、定时任务

代码中有很多基于Spring@Scheduled实现的定时任务,如果不改造,两台机器可能会在同一时间同时跑这些定时任务,没有必要。所以要把这些定时任务的代码抽取出来。公司现如今没有DTS分布式定时任务系统。怎么实现呢?

解决方案:在其中的某一台机器配置Linux-Crontab计划任务来实现:

1.1、把所有的定时任务包装成HTTP接口,这里我按照类型分了多个HTTP接口,每个接口里又通过key参数区分不同的任务。

1.2、配置Crontab,定时通过curl命令发送HTTP请求去调用任务。

eg:0 */1 * * * curl http://xxxx.xxx.com/xxx/xxx 每隔一小时执行

常用命令:

crontab -e:编辑计划任务

crontab -l:列出现有的计划任务

less /var/log/cron:查询计划任务执行日志

Crontab命令详解

注意:Crontab配置:wq后就即可生效。

2、上传的相关文件

系统有很多之前上传的文件,公司并没有专门的分布式文件存储系统,这些文件就保存在当前机器的Tomcat中。如果需要扩增一台。那么这些文件必须进行Copy一份到新的机器中,否则应用就附件相关功能就会有问题。那么怎么做呢?难道一个文件一个文件SCP(远程Copy)?

解决方案:在老的机器上安装NFS实现文件夹的远程共享,本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区目录一样。

由于运维同学不给Root权限,没办法自己在测试机器上安装NFS了。比较可惜。但起码思路打开了。也算是一种收获把。

NFS服务器搭建与配置

3、问题

3.1、Crontab配到哪一台机器呢?配到其中某一台,如果这一台Down掉了,不就尴尬了。运维小姐姐给的方案是两台都配上,其中一台先注释掉,出问题了,再打开。这解决方案我也醉了。那么问题又来了。

3.2、如何监控到Crontab定时任务的正常执行呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值