Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Управление Функциями CRONa используя PHP скрипт


Автор: matrlx 23.10.2005, 03:54
Управление Функциями CRONa используя PHP скрипт

Мне необходимо, чтобы мой скрипт на PHP
задавал функции в КРОН!
Там типа время и путь для запуска любого другого скрипта!
кто знает, подскажите!! smile

Автор: PARROT 23.10.2005, 09:43
Помоему все наоборот, CRON управляет скриптом рнр. smile
Глянь тут: http://forum.vingrad.ru/index.php?showtopic=66126&st=0&unread=#entry544179
Вообще пользуемся поиском!
Цитата Mal Hack
Цитата

Крон - утилита система. А значит работать с ней можно только через system().
Выполняя команды Cron'a.

Автор: bilbobagginz 23.10.2005, 10:09
это не страшная штука. если ты работаешь на *никсовидной системе, тебе нужно:
1. узнать под каким полззователем твой php ( скорее всего это тот же пользователь, что и апач )
скажем, для примера это пользователь www-data
2. добиться, чтобы пользователь имел право на создание таблиц крона (что частенько не так!), и тогда файл, с которым нужно нужно работать: /var/spool/cron/www-data ( все это зависит от системы, по сему - ртфм внимательно ), все манипуляции - строки задач ( т.е. "скрипты, запускаемые раз в <...>" ) должны будут добавляться в этот файл. есссно оцень вазно: а также и удаляться.
4. изучи синтаксис крон-таблиц, вообще как оно работает. твоя задача:
напр. тебе нужно скрипт /x/y/z/script.php, a interpreter php у тебя в /usr/bin/php, и надо все это запускать раз в 5 минут, ты будешь долж(на)ен вписать (добавить) строчку:
*/5 * * * * /usr/bin/php /x/y/z/script.php > /dev/null
в нужную таблицу крона ( a.k.a crontab )
( на моей системе, напр. таблицы нах-ся в /var/spool/cron/crontabs, и на прямую их не отредактируешь - папка принадлежит пользователю "cron", нет прав у остальных читать папку. в моем случае, я был бы обязан использовать системную утилиту /usr/bin/crontab через php)
5. советую, если один и тот же скрипт испольуется в нескольких строках, добавлять специально уникальные названия ( для более легкого потом удаления из файла ), и вообще не забывать чистить этот файл.

6. обычно редактирование крон-таблицы стоит делать так:
а) считать настоящую во временный файл, с временным именем, mktmp() и друзья..
б) создать нужную, правильную таблицу
в) токько тогда: выплеснуть ее в живую крон-таблицу.

7. возможно в php уже существуют специальные готовые функции для всего этого. нужно проверить - скрипты для этого должны быть... после этого материала, тебе не составит труда их использовать, если найдешь.

очень внимательно прочитай мануал крона, насчет репортирования об обломавшихся задачах и stdout.

пока.

Автор: Mal Hack 23.10.2005, 13:07
Спокойно через system(); вызываешь кодманды системы для работы с CRON'ом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)