【问题标题】:crontab is not executing the commands properlycrontab 没有正确执行命令
【发布时间】:2020-05-27 15:45:52
【问题描述】:

有一个名为“HM17.5”的应用程序命令位于/tool/SITE/HM17.5

我想要什么:我想在每天早上 9 点用新的终端执行这个应用程序。在终端上执行的原因是,如果在应用程序中工作时在终端上打印某些内容,我也可以看到日志。

这是我目前尝试过的一些尝试


尝试 1:crontab -e > * * * * * HM17.5

错误 - 未找到 HM17.5 命令。


尝试 2:crontab -e > * * * * * /tool/SITE/HM17.5

错误 - 找不到 /tool/SITE/HM17.5 命令。


尝试 3:crontab -e > * * * * * /bin/mate-terminal --command HM17.5

错误 - /bin/sh: /bin/matte-terminal: 没有这样的文件或目录


尝试 4:crontab -e > * * * * * /bin/mate-terminal --command "HM17.5"

错误 - 无法解析参数:无法打开显示:


尝试 5:crontab -e > * * * * * DISPLAY=:0 /bin/mate-terminal --command "HM17.5"

错误 - 打开终端但抛出错误 HM17.5 no file or directory

注意:正是我想要的,但至少完成了一半,它打开了新终端,但再次无法执行命令

【问题讨论】:

    标签: linux cron centos


    【解决方案1】:

    您无法按照您尝试的方式在 cron 中运行终端。但如果应用不需要图形界面,您可以运行命令将 STDOUT 和 STDERR 重定向到特定日志,并从这些日志中监控执行情况。

    为此,您需要知道该软件的可执行文件的路径。 cron 记录将是:

    0 9 * * * /tool/SITE/HM17.5/your_executable_file >/path/to/log 2>/path/ro/errorlog
    

    在你的脚本中你可以添加(在 shebang 之后)

    source ~/.bashrc
    

    source ~/.bash_profile
    

    设置环境变量

    【讨论】:

    • 感谢您更正代码 这是我在错误日志中得到的 bob-show-target-name: Command not found。 /tools/SITE/scripts/houdini:第 47 行:bob-mount:找不到命令
    • 所以更正你的脚本。使用完整路径制作所有可执行文件
    • 在尝试 2 下,我已经使我的脚本可执行。我猜是它与环境有关吗?不确定究竟是什么导致了错误。
    • @mehulJ,添加到脚本行的开头,如source ~/.bashrc 这应该可以纠正环境问题
    • 因此,如果我将 .mycshrc 添加为 shebang,它会在日志文件中显示所有别名和 env 均未找到。
    猜你喜欢
    • 2019-04-17
    • 1970-01-01
    • 2015-11-03
    • 2019-09-11
    • 2014-12-03
    • 2011-10-22
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多