Linux运维:部署定时任务

郎家岭伯爵 2022年03月24日 408次浏览

背景

在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来部署定时任务。

赞助页面示例