Работа CRON от PHP (при команде, чтобы быть точной)

StackOverflow https://stackoverflow.com/questions/3935673

  •  30-09-2019
  •  | 
  •  

Вопрос

Я хочу запустить скрипт только один раз, настроив работу CRON, используя команду «AT». Я использую это сейчас:

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