2

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

4

2 回答 2

17

您正在寻找at命令。

在 [选项] 时间 [日期]

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

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

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

$ at 1:00 am tomorrow at> ./total_up > output at> mail joe < output at> 在 2003-03-19 01:00 按 Ctrl-D 输入作业 1

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

明天凌晨 1:00 美元 < 脚本文件

于 2009-04-04T08:49:41.107 回答
4

你可以使用at.

于 2009-04-04T08:47:17.493 回答