Как отправить несколько команд в файл в Cron? - PullRequest
0 голосов
/ 26 мая 2010

У меня есть файл с несколькими динамическими параметрами. Я хочу отправить эти параметры во время записи файла в основной файл cron. Как то так ->

*/15 * * * * /usr/bin/php /a/b/c.php parameter1 parameter2 parameter3 parameter4

Теперь я попытался обработать это, но мой файл не выполняется. Что меня беспокоит, так это то, как мой php файл будет получать эти параметры ?? И как я буду писать эту команду, когда есть только 2 параметра для передачи параметров1 и 4 параметра ??? и как мои cron и php распознают то, какой параметр для каких данных и все ?? пожалуйста, совет !!

Ответы [ 3 ]

0 голосов
/ 26 мая 2010

В этом случае это будет $argv массив в вашем скрипте с этими параметрами.

Также вы можете сделать исполняемый файл с содержимым:

#!/usr/bin/php
<?
    require('yourscript.php');

И сделайте его исполняемым с chmod +x thisfile. Только чтобы не передавать имя вашего файла интерпретатору php в crontab.

0 голосов
/ 26 мая 2010

Чтобы заставить этот скрипт работать, вам нужно:

В скрипте cron установите параметры для каждой строки запроса. Например, установите p1=1234 в качестве параметра1 и т. Д.

Внутри PHP-скрипта вам нужно будет ссылаться на массив $ argv , чтобы получить переданные параметры.

$ argv [1] будет параметром 1, $ argv [2] - параметром2 и т. Д.

Вы можете определить, какой параметр является каким, с помощью команды разнесения, чтобы отделить ключ от значения:

for($x=1; $x < $argc; $x++) {
    list($key, $value) = explode('=', $argv[1]);
    $paramarray[$key] = $value;
}
0 голосов
/ 26 мая 2010
*/15 * * * * "/usr/bin/php /a/b/c.php parameter1 parameter2 parameter3 parameter4"

может быть ... * * 1002

также вы можете передать его как строку запроса? р1 = 123 & р2 = 432 & р3 = 456 внутри скрипта вы можете просто выполнить parse_string, чтобы преобразовать его в массив ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...