使用用户定义的 dtime 创建 cron 作业


Create a cron job with user define dtime

我想创建一个cron作业,它将在数据库中的用户定义时间一起运行。例如。用户可以在数据库中设置开始时间和结束时间。当到达结束时间时,我希望 cron 触发一个脚本来发送邮件。首先,在 cron 中是否有可能,或者我必须采用一些不同的方法?所有这些都将在 AWS EBS 上完成。以下是我在本地计算机上尝试发送的简单邮件,这太基本了

*/1 * * * * /usr/bin/php -q/var/www/html/cronTry/cron.php

您不希望每分钟都运行 CRON,而是为用户创建一个特定的作业并运行一次。这样的东西应该可以工作(未经测试 - 在移动设备上)

$your_users_date;
$cmd = "sudo crontab -l | { cat; echo ". date("i H d m",strtotime($your_users_date))." * php /path_to_your_script.php arg1 arg2; } | crontab -";
shell_exec($cmd);

这会在您的用户定义时将作业附加到 crontab

从数据库中获取动态详细信息,创建命令字符串并

您可以通过在 shell_exec() 中传递命令来轻松运行 cron