背景
在Linux系统中部署定时任务。
实现
Linux crontab 是用来定期执行程序的命令。
当安装完成操作系统之后,默认便会启动此任务调度命令。
crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
查看已部署的定时任务
crontab -l
- 此命令会列出当前用户下部署的所有定时任务。
编辑定时任务
crontab -e
-
执行文字编辑器来设定时程表。可通过
select-editor
命令来自定义默认的编辑器,本文选择vi
编辑器。
-
命令格式可参考菜鸟教程。
-
定时任务如有输出,可通过
>>
将输出结果重定向到指定文件。
示例:部署jar包
注意如果命令中需要使用路径,需要使用绝对路径。JDK也需要指定JDK的绝对路径。
0 15,22 * * * /usr/lib/jvm/java-11-openjdk-11.0.14.1.1-1.el7_9.x86_64/bin/java -jar /home/user/bi-0.0.1-SNAPSHOT.jar >> /home/user//log.txt
参数说明:
>>
:将输出重定向到log.txt
。
如何找到JDK的安装路径
方式一
此方式的前提是配置了Java的环境变量$JAVA_HOME
,否则是无法输出的安装位置的(只会输出一个空行)。
echo $JAVA_HOME
方式二
[root1@vlxcnd home]$ which java
/bin/java
[root1@vlxcnd home]$ ls -lrt /bin/java
lrwxrwxrwx 1 root root 22 Mar 9 10:27 /bin/java -> /etc/alternatives/java
[root1@vlxcnd home]$ ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 64 Mar 9 10:27 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.14.1.1-1.el7_9.x86_64/bin/java
总结
Linux中可通过crontab
来部署定时任务。