我只想通过使用“ AT”命令来设置CRON作业一次即可运行一次脚本。我现在正在使用:

<?php
include "config.php";
if (isset($_POST['add']))
{
 $sql = mysql_query("INSERT INTO {$table}(msg) VALUES('{$_POST['msg']}')");
 if ($sql)
 {
  $cmd = "wget /var/www/index.php?id=" . mysql_insert_id() . " | sudo at " . $_POST['runat'];
  exec($cmd);
  echo exec("atq");
  echo $cmd;
 }
 exit();
}

echo "<form action='{$_SERVER['PHP_SELF']}'  method='POST'>";
echo "<input type='text' name='msg' />";
echo "<input type='text' name='runat' />";
echo "<input type='submit' name='add' />";
echo "</form>";

?>

但是,这似乎不起作用。我在做这件事吗?还是您可以推荐其他东西?

有帮助吗?

解决方案

您正在使用 at 以错误的方式命令。您需要回声并将其传递给 at. 。这样尝试:

$cmd = "echo wget /var/www/index.php?id=" . mysql_insert_id() . " | sudo at " . $_POST['runat'];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top