我希望允许用户输入日期和时间通过PHP发送大量电子邮件,虽然我认为最好使用*nix命令来触发PHP进程.我想知道是否有一种方法在*nix上执行此操作而不添加cronjob每15分钟运行一次以检查是否有要发送的群发电子邮件.并不是说这是一个密集的过程,但是添加和管理cronjob会更漂亮.我认为这有点类似于具有结束日期的Windows计划任务,如果没有再次计划,则设置为删除.
你正在寻找at命令.
在[选项]时间[日期]
在指定时间和可选日期执行命令.命令从标准输入或文件中读取.(另请参见批处理.)使用EOF结束输入.时间可以形成为数字小时(可选分钟和修饰符)或关键字.它可以包含一个可选日期,形成为月份和日期,星期几或特殊关键字(今天或明天).也可以指定增量.
at命令始终可以由特权用户发出.其他用户必须列在文件/etc/at.allow中(如果存在); 否则,它们不得列在/etc/at.deny中.如果两个文件都不存在,则只有特权用户才能发出该命令.
在典型用法中,您运行并输入要在特定时间执行的命令,然后是EOF.
$明天凌晨1点> ./total_up>输出> mail joe <输出>输入按Ctrl-D作业1在2003-03-19 01:00
这两个命令也可以放在一个文件中,并按如下方式提交:
$明天凌晨1点