【问题标题】:LSF queueing output in crontab problemcrontab 问题中的 LSF 排队输出
【发布时间】:2011-09-16 07:30:27
【问题描述】:

我有一个 bash 脚本,它通过 LSF 排队系统命令“bqueues”的输出监控集群中的作业。脚本运行良好。现在我想创建一个调用这个脚本的 crontab 条目。问题是与bqueues相关的所有东西都没有输出,可能是什么原因?

【问题讨论】:

    标签: bash cron queue lsf


    【解决方案1】:
    1. Cron 作业不继承用户的登录环境。特别是在 .login 或 .profile 等中设置的环境变量将根本不可用。 cron 作业失败的最常见原因是 PATH 设置不是脚本编写者所假设的。
    2. Cron 作业没有与之关联的标准输入。虽然 cron 不会执行用户的 .login/.profile,但它会正常启动 shell - 从而导致 shell 的启动文件(.cshrc、.bashrc 等)被执行。此外,cronjob 中使用的某些命令可能依赖于存在的终端。例如,如果您尝试在批处理模式下启动“vi”,请不要。而是将其替换为 ed 或 sed。
    3. Cron 作业输出将通过 Unix 邮件发送给 crontab 所有者
    4. crontab 本身的权限。如果文件的权限设置不正确,许多 cron 实现甚至不会查看 crontab。通常权限应该非常严格 - 所有者只有读/写权限,组或其他人没有权限。
    5. 通过从 shell 和 crontab 发出 env 来比较环境。
    6. ...

    更多调试技巧,见How to debug an issue of cron's not executing a given script -- or other?

    【讨论】:

    • 是的,“env”的输出在 bash 和 cron 中是不同的。反正有没有让我将所有 bash 环境变量传递给 cron?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 2015-08-18
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多