来自php的Cron工作(确切地说是命令)

时间:2010-10-14 17:09:06

标签: linux cron at-job

我想通过使用“at”命令设置cron作业来运行脚本ONCE。 我现在正在使用它:

<?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>";

?>

但是,这似乎不起作用。我这样做了吗?或者你能推荐别的东西吗?

1 个答案:

答案 0 :(得分:0)

您正在以错误的方式使用at命令。您需要回显命令并将其传递给at。试试吧:

$cmd = "echo wget /var/www/index.php?id=" . mysql_insert_id() . " | sudo at " . $_POST['runat'];