【问题标题】:Can't find cron job created by Chef custom recipe through OpsWorks无法通过 OpsWorks 找到由 Chef 自定义配方创建的 cron 作业
【发布时间】:2013-04-14 13:30:35
【问题描述】:

我在使用 OpsWorks 部署部分中的 execute_recipes 命令运行的自定义配方中有以下代码:

cron "my_cron_job" do
  command "python /path/to/apythonfile.py"
end

当我通过 SSH 访问实例并使用 root 检查 /etc/crontab 时,我在那里找不到这个工作。 但是,在查看此命令运行的 Chef 日志时,相关行在那里:

[Thu, 11 Apr 2013 21:24:23 +0000] DEBUG: Processing cron[my_cron_job] on instance1.localdomain
[Thu, 11 Apr 2013 21:24:23 +0000] DEBUG: Cron 'my_cron_job' not found
[Thu, 11 Apr 2013 21:24:23 +0000] INFO: Added cron 'my_cron_job'

那么,我在哪里 CAN 在执行此配方后可以在实例上找到此 cron 作业的实际记录?

谢谢

【问题讨论】:

    标签: amazon-web-services chef-infra


    【解决方案1】:

    也许在/etc/cron.d/my_cron_job?我假设 Chef 使用作业名称来创建一个单独的文件,因为它更容易管理它,而不是其他可能非厨师作业所在的 crontab。

    【讨论】:

    • 我也在那里搜索过,但只有一个文件名为.placeholder :(
    • 啊,cron 资源将您的命令放在用户 crontabs 中,尤其是。当没有给定用户时,在根 crontab 中。
    • 对于 Debian 6,用户 crontab 被放置在 /var/spool/cron/crontabs(来源:man crontab
    • 看准了!它就在那里 :) 非常感谢!
    【解决方案2】:

    使用带有 Amazon Linux 的实例,我的 cron 作业列在 root 用户下。在 ssh-ing 进入实例后,我跑了

    sudo -i       # Logs you in as root.
    crontab -l    # Prints crontab
    

    它们被打印到终端。

    【讨论】:

      猜你喜欢
      • 2023-03-02
      • 2015-05-02
      • 2014-01-26
      • 2018-04-25
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      相关资源
      最近更新 更多