【问题标题】:On *nix is there a way to trigger a process at a future date & time?在 *nix 上,有没有办法在未来的日期和时间触发进程?
【发布时间】:2010-10-17 12:53:16
【问题描述】:

我希望允许用户输入日期和时间以通过 PHP 发送大量电子邮件,尽管我认为最好使用 *nix 命令来触发 PHP 进程。我想知道 *nix 上是否有办法做到这一点,而无需添加每 15 分钟运行一次的 cronjob 来检查是否有大量电子邮件要发送。这并不是说这是一个密集的过程,但如果有一个 cronjob 来添加和管理它会更漂亮。我认为这有点类似于 Windows 计划任务,它有一个结束日期,如果没有再次计划,则设置为删除。

【问题讨论】:

    标签: linux scheduled-tasks


    【解决方案1】:

    您正在寻找at 命令。

    在 [选项] 时间 [日期]

    在指定时间执行命令 和可选的日期。命令是 从标准输入或从 文件。 (另见批处理。)结束输入 EOF。时间可以形成为 数字小时(可选分钟 和修饰符)或作为关键字。它可以 包含一个可选的日期,形成为 月份和日期、一周中的某一天,或 一个特殊的关键字(今天或明天)。 也可以指定增量。

    at 命令总是可以由 特权用户。其他用户必须是 如果它在文件 /etc/at.allow 中列出 存在;否则,他们不得 在 /etc/at.deny 中列出。如果两者都没有 文件存在,只有特权用户 可以发出命令。

    在典型用法中,您运行并输入 您希望在 a 处执行的命令 特定时间,然后是 EOF。

    $ 明天凌晨 1:00 于 > ./total_up > 输出在 > 邮件乔 按输入 Ctrl-D 工作 1 在 2003-03-19 01:00

    这两个命令也可以放置 在一个文件中并提交如下:

    明天凌晨 1:00 美元

    【讨论】:

    • 还要熟悉系统和用户的“crontab”文件。
    • "at" 有很多选项。我找到 echo "" |在 2300 99% 的时间都在做我想做的事。 (当然,任何 24 小时都可以!)
    【解决方案2】:

    你可以使用at

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 2020-05-01
      • 2019-12-28
      • 2016-07-29
      • 2013-04-19
      相关资源
      最近更新 更多