首页 > 系统相关 >linux中用crontab定时任务启动jar无效的问题

linux中用crontab定时任务启动jar无效的问题

时间:2023-06-22 19:12:35浏览次数:56  
标签:java log jar crontab linux 定时 执行

原文链接:https://blog.csdn.net/for_the_time_begin/article/details/113940508

问题:

使用linux系统中的定时任务执行jar包,但是经过测试发现一只不能正常执行,发现定时任务crontab是正常运行的,因为再写一个测试用的定时任务指定时间在指定的目录位置下生成一个文件,或者向文件中追加内容,这样测试是没有问题的。

原因:

修改前脚本内容如下:

nohup java -Xms512m -Xmx512m -jar /mnt/jar/xx-0.0.1-SNAPSHOT.jar &

检查了权限等各方面可能,更多详细排查内容点击这里 --->crontab不能执行的原因.md,一直都是脚本能执行,但是不产生jar的进程,如果在命令前后增加输出也能正常输出

手动执行则一切正常,最后怀疑是环境变量的问题

解决方式:

修改后的脚本内容如下:

source /etc/profile

nohup java -Xms512m -Xmx512m -jar /mnt/jar/xx-0.0.1-SNAPSHOT.jar &

主要增加了source /etc/profile用来引入环境变量

也就是需要使用绝对路径并且还需要指定jdk的路径,没有执行的原因就是执行jar的时候,需要加上jdk的路径

原文链接:https://blog.csdn.net/weixin_42976232/article/details/107373126

在创建定时任务时,所有的路径都需要写绝对路径,包括配置文件。若定时文件为定时执行sh文件,而sh文件中需要的配置文件也需要写绝对路径。
在linux服务器上新建jar的crontab 定时任务时,发现定时任务不生效,此时很有可能的原因是因为路径写的不准确,比如没五分钟执行一次hello.jar时,
此时应该执行的命令为:
crontab -e #新建定时任务

*/5 * * * * /usr/local/jdk1.8/bin/java -jar /test/tet.jar 1>> /log/do.log 2>> /log/err.log

释义:*/5 * * * * 这个不说了,有很多大神说的比我清楚。
/usr/local/jdk1.8/bin/java java可执行文件的绝对路径,JAVA_HOME的路径
/test/tet.jar 需要执行的jar文件的绝对路径
1>> log/do.log 执行日志打印位置
2>> log/err.log 异常日志所在路径

标签:java,log,jar,crontab,linux,定时,执行
From: https://www.cnblogs.com/javaxubo/p/17498166.html

相关文章

  • crontab不能执行的原因
    最近经常碰到关于crontab不能执行的,初步总结了有以下几个原因:第一,脚本的原因:大多数情况下,我们要相信科学,相信计算机,不是有鬼,就是我们的脚本的问题,这种问题导致crontab不能执行的概率占到70%以上。因为程序执行到某一步导致crontab终止执行,我就碰到一次在迁移代码的时候将数据库连......
  • linux 中printf函数
     001、输出字符串[root@PC1test01]#printf"abcd\n"abcd[root@PC1test01]#printf"%s\n""abcd"##输出字符串abcd 002、指定宽度[root@PC1test01]#printf"%s\n""abcd"abcd[root@PC1test01]#printf&quo......
  • 记一次服务程序调试过程(linux进程打开文件句柄过多问题)
    最近在测试服务程序,对外提供HTTP服务(使用c++调用libevent实现,回调使用curl库)。开始测试几百个请求时,功能一直挺正常。但是加大请求数量后(请求量大于5000),出现很奇怪的现场,每次接收的响应大约在3400个左右时,服务程序不再返回响应。开始怀疑是http服务异常了,使用http工具单独再发请......
  • STM32-mp157-A核Linux
    A核开发环境网卡连接1.NAT虚拟网卡连接互联网2.桥接(真实)网卡连接开发板ubuntu新建NAT网卡;设置桥接模式;搜索vmnet以管理员身份打开;设置桥接网卡为目标usb网卡;打开虚拟机linux网络设置;设置静态IPv4同一网段;ifconfig命令查看;打开windows网络设置;设置静态IPv4同一网段;打开终......
  • Linux系统的CVE该如何确认?学会这个方法不用慌!
    在维护过程中,应用系统免不了被客户做定期的漏扫,运维需要根据客户的扫描结果进行反馈是否涉及和是否能整改,本文主要针对LinuxCVE漏洞进行一个基本的排查。一、什么是CVE漏洞?CVE是CommonVulnerabilitiesandExposures的缩写,意思是“常见漏洞披露”。它是一个由Microsoft、Goog......
  • Linux Nacos2.2.0版本集群搭建,常见报错问题解决
    准备:服务器,nacos,mysql,nginx,java,mavenNacos官网:https://nacos.io下载地址github:https://github.com/alibaba/nacos相关版本问题,见nacos官网手册查看集群配置图:官方的: 本次搭建集群配置图:开始搭建:修改nacos的配置文件“application.properties,cluster.conf.ex......
  • Ubuntu linux 为啥要开始选择ubuntu LINUX
    开头还是介绍一下群,如果感兴趣polardb,mongodb,mysql,postgresql,redis等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。其实纠结这个问题也是很长时间了,因为一个玩数据库的讨论系统的问题,也是在是不合场景。但没有办法,搞数据库的数据库也的在操作系统......
  • LoadRunner 监控到的Linux服务器CPU的一些主要指标说明
    CPU的主要指标:CPUUtilizationCPU使用率,CPU的使用时间百分比,75%以上就比较高了。在任意时间内,CPU有7个状态:1.idle,表示CPU闲置并等待工作分配.2.user,表示CPU在运行用户的进程3.system,表示CPU在执行kernel工作4.nice,表示CPU花费在被nice改变过优先级的process......
  • Archlinux安装OSX-KVM(无显卡直通)
    0.前期准备qemu虚拟机安装(可以参考Archwiki,或者是我的其他教程)OSX-KVM项目文件下载(这个项目支持macos10-13)https://github.com/kholia/OSX-KVMMacOS的iso镜像(我使用的是macos12Monterey)https://sysin.org1.磁盘文件创建在/var/lib/libvirt/images/创建qcow2磁盘文件,名为......
  • linux 中 echo命令如何输出感叹号
     001、方法1[root@PC1test01]#echo'abc!'##使用单引号abc! 002、方法2[root@PC1test01]#echo"abc!"##双引号,感叹后后面加空格abc! 003、方法3[root@PC1test01]#echoabc!##什么引号都不加abc! 参考:https://www.cnblogs......