在linux下面运行java程序,一般情况下我们先打包成jar文件,然后放在linux下,用脚本去执行它。
time.sh:
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export PATH=$JAVA_HOME/bin:$PATH
java -jar /opt/local/test/SimHash.jar
注意需要给time.sh赋权(chmod 777 aaa.txt 给aaa.txt 赋权)
首先需要导入java的环境变量,如果想要在执行中文的时候不出现乱码,还要导入中文编码。之所以要导入这些内容,是因为crontab定时程序调用脚本时,系统的环境变量是没有加载的。
其次执行jar的命令是java -jar 加jar文件名称就可以了,这个命令是跨平台的。
在Linux系统中运行jar包,大家都知道可以直接输入java -jar XXX.jar。设想一个场景,这个jar包是一个关于对账的,对账需要每天都对,每天通过手工敲这行代码,显然不方便。所以,我们可以利用crontab进行定时任务的设置。
定时任务列表,输入crontab -e,在里面输入你想要设置的定时任务:
每天凌晨1点10分运行脚本,输出日志到指定文件
crontab文件格式:
* * * * * command
分 时 天 月 星期 命令
*/5 * * * * /home/test.sh 在每5分钟执行一次test.sh脚本