技术控

    今日:116| 主题:49390
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] 记录一个crontab的“坑”

[复制链接]
触及万里天晴 发表于 2016-11-30 12:04:22
99 0

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
虽然称之为“坑”,但是主要还是我自己对立面的道道不太了解所致。
    背景介绍:  
  首先有一个python脚本,这个python首先会执行一些linux的命令,比如解压文件、复制文件等等,完成之后会通过java -jar的方式调用某一个jar包做一些操作。
  原文来源:http://www.flyml.net/2016/11/30/crontab-java-not-found/
    问题表现:  
  每次手动执行这个python脚本运行,程序工作的很好,但是如果是通过crontab的方式来运行,就会发现程序只执行了,但是java应该做的事情完全没做。
  在crontab命令增加了 2>&1的后缀之后,终于看到了错误信息:
  sh: l: java not found
  原文来源:http://www.flyml.net/2016/11/30/crontab-java-not-found/
    问题原因:  
   经过各种google之后,才发现,当我们手动ssh进去的时候,会加载~/.bashrc 以及 /etc/profile等等环境变量配置文件。但是crontab缺不会做这个事情,是由系统调用起一个最小的环境来做这些操作(具体原因不明)。即: crontab不会加载环境变量配置文件
  当找到了问题的原因之后,解决方案就很明了: 强制加载环境变量的配置文件
  原文来源:http://www.flyml.net/2016/11/30/crontab-java-not-found/
      解决方案 – 1 :增强型crontab
   (亲测发现不行,可能是我水平有问题)
    在crontab的命令里面增加source /path/to/configfile. 比如我们的java是配置到/etc/profile之中,那么我的crontab命令就是:
  [code]* * * * source /etc/profile; cd XXXX && pythontask.py >> ~/debug.log 2>&1
[/code]  但是发现这种方式在我的环境并没起作用
    解决方案 – 2 : bash脚本出马  
  这种方式需要在增加一个bash脚本来调用python命令。参考下面:
  [code]#!/bin/bash
source /etc/profile
pythontask.py
[/code]  注意:第一行一定不能省略啊!
  原文来源:http://www.flyml.net/2016/11/30/crontab-java-not-found/
   补充说明: command >> file 2>&1 是什么?
  这也是今天在尝试让crontab打印出错误信息才学到的东西。
  先说说下面的命令的意思:
  command >> file 2>>file
  这是说:正常的输出信息会添加到file之中,错误信息也会添加到file之中,但是是两个文件管道FD1跟FD2同时在抢,并且可能产生互相覆盖的现象
  command >> file 2>&1
  就不太一样了:首先正常的输出(到屏幕)信息会通过管道FD1会添加到file之中,错误信息会继承FD1也添加到file 之中。
  当crontab命令加上这个后缀(2>&1) 之后,我的debug.log 之中终于出现如下图所示的错误信息(sh: l: java not found),也终于找到了解决问题的方向。
   
记录一个crontab的“坑”-1 (google,解决方案,配置文件,profile,python)

    本文为原创文章,转载请注明 出处
   原文链接:http://www.flyml.net/2016/11/30/crontab-java-not-found/
友荐云推荐




上一篇:记录一个crontab的“坑”
下一篇:If you like React Native & Vue, you will like Weex
酷辣虫提示酷辣虫禁止发表任何与中华人民共和国法律有抵触的内容!所有内容由用户发布,并不代表酷辣虫的观点,酷辣虫无法对用户发布内容真实性提供任何的保证,请自行验证并承担风险与后果。如您有版权、违规等问题,请通过"联系我们"或"违规举报"告知我们处理。

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读

扫码访问 @iTTTTT瑞翔 的微博
回页顶回复上一篇下一篇回列表手机版
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )|网站地图 酷辣虫

© 2001-2016 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表