工作原因,需要定期的关注项目情况、了解项目进度并记录,因为记录的事情较多,有时候经常忘记,所以借助钉钉的告警功能,做了一个钉钉小提醒。过程大概分一下五步。
- 新建钉钉自定义机器人--参考钉钉的官方文档
- 编写发送消息的java脚本--这个官方有源码示例
- 生成jar包,上传至服务器--用的maven的插件
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.autopay.tools.ToolsApplication</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<mainClass>这里要写main类的全路径</mainClass>
- 编写shell脚本
#!/bin/bash
#配置环境变量-不然会提示找不到java
export JAVA_HOME=/opt/jdk1.8.0_77
export PATH=$JAVA_HOME/bin:$PATH
cd /jar包的路径
java -jar XXX.jar
- 配置定时任务
- 执行命令 crontab -e
0 10,11,14 * * 1,3 /脚本路径/XX.sh &>/日志路径/log.txt
- 定时命令要符合规则,不然会报错
可参考 在线校验工具
注意一点:
有时候需要每分钟/小时执行任务,会习惯写0/X校验的时候不报错,但是服务器保存会报错。所以这样的命令一律要写成*/x的格式
- 配置完后重起服务
service -crond stop
service -crond start
ok,到这里就结束了,想验证是否生效,可以先把定时任务成每分钟跑一次。