最近在做项目的时候有遇到跑java脚本的场景,一般这种我不太喜欢使用springweb项目进行构建,很多人喜欢使用springweb项目构建,并且在代码里面使用定时器@Scheduel。个人觉得这不是一个很好的方法,因为不灵活,所以在这里,我更喜欢直接写一个脚本,然后使用调度工具或者直接使用linux的crontab进行调度运行。这种方法使用了很多次,但是一直没记录下来,今天我们来就来记录下,方便后期跑程序使用。
1)首先编写java项目,这里假设我们已经写好并且打成了jar包。例如:police_data_reporting_task-1.0.jar
2)我们需要把这个jar包放到服务器上进行运行,所以直接在服务器创建目录并且把他放上去
mkdir -p /home/data/pubserver/uploadshiju2shengting rz
3)编写运行此jar程序的run脚本
cd /home/data/pubserver/uploadshiju2shengting touch run.sh chmod 777 run.sh vim run.sh
然后把下面的内容粘贴到run.sh里面去
#!/bin/sh source /etc/profile cd /home/data/pubserver/uploadshiju2shengting/ java -cp police_data_reporting_task-1.0.jar com.gy.police.sync.XueliangDataReport
4)然后我们配置contab即可
crontab -e
把下面的语句粘贴到crontab里面去,例如我们现在配置每天11点21跑一次这个脚本
21 11 * * * sh /home/data/pubserver/uploadshiju2shengting/run.sh >> /home/data/pubserver/uploadshiju2shengting/upload.log 2>&1
5)然后我们看下crontab的配置
crontab -l
到这里我们就配置完了,然后等待到时见就执行,可以在对应的文件夹下看到日志
还没有评论,来说两句吧...