linux定时任务crond export变量问题群友案例

来自网友兄弟 北京@Grady(254553457) 的总结。

1)我写了一个重启resin的脚本,由于业务原因,需要定时在某一个时间重启下resin服务器,于是就在
crontab里配置了如下内容:
50 17 * * 1-5 root /usr/local/bin/resin_restart.sh
其中,resin_restart.sh内容如下:
#!/bin/sh
/usr/local/bin/xxresin_stop.sh
/usr/local/bin/xxresin_start.sh

2)有问题的时刻到来了,服务器虽然定时起来了,但是却报了如下错误:
Resin can't load com.sun.tools.javac.Main.  Usually this means that the JDK tools.jar is missing from the classpath,
possibly because of using a JRE instead of the JDK. 
You can either add tools.jar to the classpath or change the compiler to an external one with <java compiler='javac'/> or jikes.
但是,明明已经在profile里配置了环境变量,为啥还找不到呢。折腾了需求没有搞定。

3)后来在QQ交流群114580181,找到了热心下老男孩老师,并请教,得到的回答是:
由于export变量问题导致:具体为,crontab执行shell时只能识别为数不多的系统环境变量,
普通环境变量一般是无法识别的,如果在编写的脚本中需要使用变量,最好使用export重新声明下该变量,
以确保脚本正确执行。以后作为一个开发基本规范写上。
------------------------
4)然后我在resin重启脚本里重新定义了下环境变量,脚本如下:
#!/bin/sh
#下面就是环境变量定义
JAVA_HOME="/opt/jdk1.6.0_18"
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/opt/nginx-0.7.61/sbin:/opt/jdk1.6.0_18/bin:/opt/resin-3.0.25/bin:$PATH
export JAVA_HOME PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC CLASSPATH
/usr/local/bin/xxresin_stop.sh
/usr/local/bin/xxresin_start.sh

5)经过测试,定时任务此时顺利重启,在这里非常感谢老男孩老师给与的支持。

linux定时任务生产java服务无法执行问题群友案例相关推荐

  1. linux停止java定时任务,linux定时任务生产java服务无法执行问题案例

    我写了一个重启resin的脚本,由于业务原因,需要定时在某一个时间重启下resin服务器 于是就在crontab里配置了如下内容: * * - root /usr/local/bin/resin_re ...

  2. 2.定时任务关闭Java服务

    目录 第一步:写bat脚本 第二步:设置定时任务 做一个定时任务在每天21:30关闭Java服务. 第一步:写bat脚本 ::此文件用于关闭后端jar服务. @echo off setlocal en ...

  3. 编写linux脚本操作 java 服务

    为了在linux上能否方便的启动和关闭JAVA项目,为其编写一个好用的脚本,能大大的提高工作效率,在这里将脚本模板分享给大家参考,如果你在使用的过程中有遇到问题,欢迎在下方评论进行留言! 启动脚本 s ...

  4. Linux定时任务crontab 实现每秒执行一次的方法

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} ...

  5. crontab服务启动 停止 重启(linux 定时任务)

    crontab 服务 启动 停止 重启 crontab 服务用于执行 linux 定时任务. 重启服务命令: service crond restart启动服务命令: service crond st ...

  6. linux java version 版本不对,linux JAVA_HOME和 java -version不匹配

    ~/.bashrc 中更新了jdk, JAVA_HOME 起效果了,但是java -version还是老的. 原因是/usr/bin/java   和usr/bin/javac是一个链接,得改. 使用 ...

  7. 用“逐步排除”的方法定位Java服务线上“系统性”故障

    说明:原文地址已经不可访问,其他地方有转载,不过很多丢失图片,所以,找到一处有图的重新配好图. 用"逐步排除"的方法定位Java服务线上"系统性"故障 Post ...

  8. crontab shell 每5秒执行_linux定时任务crontab 实现每秒执行一次的方法

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} ...

  9. linux定时任务打印日志,Centos7(linux)使用crond服务定时执行js脚本并将脚本的输出内容记录日志文件的简单应用...

    - ## 在Centos7.8上使用crond服务定时执行js脚本并将脚本执行的输出记录日志 1. 安装wget 2. wget https://npm.taobao.org/mirrors/node ...

最新文章

  1. PHP下的Oauth2.0尝试 - 授权码授权(Authorization Code Grant)
  2. 获取本机IP_考虑多网卡的情况
  3. Cisco交换机实现端口安全与帮定
  4. python实现Matlab中的circshift函数
  5. 精通Python网络爬虫:核心技术、框架与项目实战.3.2 爬行策略
  6. “拼多多优惠券”测试的套路,今天让你秒懂~
  7. 【261期】为什么 BigDecimal 类不能使用 equals() 方法做等值比较?
  8. vue中使用(瀑布流)vue-waterfall-easy插件
  9. kaggel竞赛之员工离职分析
  10. 路由器更换wan口及vlan配置
  11. JS接口安全域名:XXX内容与下载文件不符,请检查文件内容或重新上传原始文件
  12. 每天一道算法题系列十七之电话号码的字母组合
  13. 招投标系统源码 java招投标系统 招投标系统简介 招投标系统功能设计
  14. WOL网络唤醒远程开机的关键步骤,魔术唤醒一步都不能少!
  15. 【LeetCode】﹝并查集ி﹞连通分量个数(套用模板一直爽)
  16. java中的数组长度的计算
  17. 3ds max7渲染传奇三剑客VRay教程(PDF)
  18. 79、Vue的发展及优点和缺点
  19. win11占用内存太高怎么解决?
  20. 第六课:图层蒙版和快速蒙版

热门文章

  1. pgadmin连接服务器失败_增值税发票税控软件:连接服务器失败是否使用离线文件进行更新?...
  2. html点击事件传参 php,HTML通过事件传递参数到js详解及实例
  3. 遗传算法求函数最大值实验_小知识:什么是遗传算法
  4. python find函数 和index的区别_使用带有find和index的map时Python2和Python3之间的区别...
  5. 什么意思是谁_舔狗是什么意思?如果不是真的喜欢谁又愿意做舔狗呢出处?
  6. html链接word,word添加网址超链接方法
  7. android layerlist bitmap,android shape类似的 另一个 高端用法:layer-list
  8. 什么是写一个java类,Java什么是类?class的相关介绍
  9. Java 设计模式 Day1 之面向抽象原则:抽象(abstract)类的设计与应用分析
  10. Windows下设置自动关机的命令指示符