Передача переменной из кона

GrayMaster

Новичок
Передача переменной из кона

Нужно передать переменную скрипту - $id из крона...
Запускаю скрипт так:
/usr/local/bin/php -f /home/source/cron.php

Вариант cron.php?id=1 непроканает так ведь ?
 
нет не проканает, запускай как
/usr/local/bin/php -f /home/source/cron.php 1
и бери свою переменную $id из массива $argv
(если я не ошибаюсь то будет
$id=$argv[1];
)
 
А есть какие-либо свежие решения этой задачи?

А то получается, если нам нужно запускать каждые пол часа один скрипт, но с 10-тью !разными! параметрами - id=1 id=2 ... id=10,
нам 10 файлов создавать с cron.php 1 cron.php 2 ... cron.php 10 ???
 
Dzen
логично логику выбора номера внести в сам исполняемый файл cron.php
 
Я крон к бд привязал. Можно хоть 1000 переменных привязывать.
 
/usr/local/bin/php -f /home/source/cron.php id=1&var=2 работает тоже.
 
Dzen
логично логику выбора номера внести в сам исполняемый файл cron.php

ну так если у нас к примеру 10 номеров, получается нам придётся цикл делать, это ж сколько один скрипт будет работать!
Вместо того чтобы id1 запускать кроном каждые 5 минут
id2 запускать каждые 6 минут
id3 запускать каждые 7 минут
и тд

мы всё сделаем в один крон файл?? будет же немерянная нагрузка и время работы одного скрипта.

тут вот советуют через wget делать
 
делаешь один cron.php
если задание не длинные, то в нём что-то типо
PHP:
if (date('i') % 1 == 0) include 'cron/every_1_min.php';
if (date('i') % 6 == 0) include 'cron/every_6_min.php';
 
  • Like
Реакции: Dzen
делаешь один cron.php
если задание не длинные, то в нём что-то типо
PHP:
if (date('i') % 1 == 0) include 'cron/every_1_min.php';
if (date('i') % 6 == 0) include 'cron/every_6_min.php';

но только в нашем случае, это будет не every_1_min.php и every_6_min.php, а просто присваивание значения для переменной, т.е. id=1 , id=2 (её надо запускать каждую 6 минуту к примеру) ? И при этом крон должен дёргать этот файл каждую минуту?
 
и получится крон в кроне

не проще crontab генерировать?
 
Сверху