工作原因, 需要定期的关注项目情况, 了解项目进度并记录, 因为记录的事情较多, 有时候经常忘记, 所以借助钉钉的告警功能, 做了一个钉钉小提醒. 过程大概分一下五步.
新建钉钉自定义机器人 -- 参考钉钉的官方文档
编写发送消息的 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
定时命令要符合规则, 不然会报错
可参考 在线校验工具 https://tool.lu/crontab/
注意一点:
有时候需要每分钟 / 小时执行任务, 会习惯写 0/X 校验的时候不报错, 但是服务器保存会报错. 所以这样的命令一律要写成 */x 的格式
配置完后重起服务
- servece -crond stop
- service -crond start
ok, 到这里就结束了, 想验证是否生效, 可以先把定时任务成每分钟跑一次.
来源: http://www.jianshu.com/p/bb548e30d5f5