【问题标题】:How do I start cron on docker ubuntu base?如何在 docker ubuntu 基础上启动 cron?
【发布时间】:2013-12-30 23:38:53
【问题描述】:

我已经通过apt-get install cron安装了cron

由于upstart 未运行,尝试启动 cron 失败(如预期的那样)。

正确启动 cron 的命令行是什么(即它会读取用户的 crontab,会读取 /etc/crontab/* 等)?

请注意,我不想将容器作为“完整”机器启动,因此我不想运行/sbin/initupstart。我通过supervisord 管理进程,所以我缺少的是添加到其配置文件的命令行。

【问题讨论】:

  • @matejkramny:可能是这样,但除非你告诉他们正确的方法是什么,否则没有人会做任何不同的事情。我来这里是想看看 docker 是否是部署和隔离我每天需要运行的东西的好方法。
  • @WilliamPietri 他只是更喜欢约定而不是架构,因为这是实现平庸结果的简单方法。你如何构建你的堆栈取决于你在做什么。他只是宣扬他的教义而不问“你为什么这样做”这一事实说明了一切。
  • @matejkramny:为什么?在 docker 中运行 cron 作业有什么问题?
  • 没什么,我建议 cron 在一个特殊的容器中运行,与 Web 服务器的东西分开。然后,您可以在不让 cron 运行 >1 的情况下扩展 Web 服务器。第一条评论写错了,抱歉!见cronlamp-docker
  • @matejkramny 你如何轮换你的日志文件?你是如何杀死僵尸子进程的?

标签: ubuntu cron ubuntu-12.04 docker


【解决方案1】:

您可以在没有守护程序模式的情况下运行 cron。

root@xxxxxx:~# cron -f

我只是想测试一下:

  • 我在一个新容器中启动了 /bin/bash
  • apt-get install cron nano screen
  • getty tty -a root
  • screen,在屏幕中我创建了 2 个终端:
  • 第一:cron -f
  • second:crontab -e - 编辑您的 crontab,保存,然后您可以看到 cron 正在运行...

【讨论】:

    【解决方案2】:

    我只是用简单的cron 命令启动cron,它将作为守护进程启动它,而我后来用tail -f <my logfile> 阻止我的启动脚本进程。

    【讨论】:

      猜你喜欢
      • 2021-05-19
      • 2020-08-26
      • 2020-02-07
      • 2019-07-04
      • 1970-01-01
      • 2017-09-11
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多