zoukankan      html  css  js  c++  java
  • crontab计划运行shell脚本,调用ncl执行失败

    编写了bash脚本,调用ncl脚本绘图,在前台运行时候无误,但是加入crontab任务就是始终无法出图,并且无错误输出。

    经过搜索,问题得到解决。是环境变量的问题。所有执行的命令,和文件都要指定完整的路径,此外,对于ncl程序,还要在bash脚本中添加NCARG_ROOT环境变量。

    详细过程

    最近使用crontab,计划执行bash脚本,但老是得不到正确结果,而且还没有错误信息。经过广泛百度之后发现,需要在bash脚本中的首行加入这一句,从而可以将crontab的执行细节输出到日志

     set -x; exec 2>/path/to/logfile  参考自 https://stackoverflow.com/questions/34289641/sh-file-not-running-on-cron-ubuntu

    这样就可以将crontab的执行结果输出到文件了。接下来查看输出文件,查找具体可能的原因。

    查看输出文件,可以发现结果有如下输出:

    warning:Unable to Get System Resource File Name? 
    warning:Unable to load System Resource File (null) 

    再次搜索相关帖子,发现出错原因:没有设置 NCARG_ROOT 变量  https://www.ncl.ucar.edu/Support/install_archives/2009/0220.html 

    在bash脚本中添加相应环境变量后,问题解决了!

    回想起一些后台执行的命令出错的原因也是环境变量设置的问题。所以应当有所了解了

  • 相关阅读:
    网络面试题2
    网络
    Linux os
    操作系统面试题2
    操作系统面试题
    Linux
    算法-字符全排列
    第k大数问题
    地址
    ListView里面嵌套CheckBox
  • 原文地址:https://www.cnblogs.com/jiangleads/p/11329623.html
Copyright © 2011-2022 走看看