Существует ли путь, которым PHP или сценарий оболочки могут установить задание крона на веб-сервере?

Я пишу компонент для Joomla и существует определенная задача, которая требует обновления некоторой статистики время от времени. Я хотел бы установить задание крона, чтобы сделать это. Единственная проблема, это требует, чтобы пользователь пошел и установил крон для запущения скрипта статистики обновления php.

На установке компонента, как я могу автоматически установить задание крона для пользователя? Действительно ли это возможно?

Я видел, что реализованный в Akeeba копирует про компонент для Joomla, таким образом, я надеялся, что смогу сделать то же самое.

Спасибо

1
задан Martin 22 June 2010 в 10:50
поделиться

3 ответа

Теоретически вы можете создать файл crontab и вызывать его из PHP

<?php
exec("crontab $path_to_cron_file");

, на практике это зависит от того, позволяет ли вам это делать сервер (если вы находитесь на общем хостинге).

1
ответ дан 2 September 2019 в 23:36
поделиться

Все, что вам нужно сделать, это записать строку в файл crontab, обычно хранящийся в / var / spool / cron / crontabs / имя пользователя . Демон cron увидит, что время модификации файла изменилось, и автоматически перезагрузит его, когда проснется, чтобы выполнить свои проверки

1
ответ дан 2 September 2019 в 23:36
поделиться

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

У iJoobi.com есть другое решение, в котором они настроили сервер для запуска задач cron, которые затем будут пинговать определенный URL-адрес на веб-сайте, чтобы запустить процесс. ( http://www.ijoobi.com/Help/jNews/jNews-Cron-Task.html )

0
ответ дан 2 September 2019 в 23:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: