2010-04-19 2 views
0

Есть ли способ добавить php-скрипт (файл) в cron для запуска этого скрипта каждые десять минут или в запланированное время?добавить php скрипт в cron для запланированной задачи из php?

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

поэтому мне нужно создать задание cron от php для запуска php-файла в указанное время.

это возможно, если у вас есть общий веб-хостинга среды (не VPS)

ответ

2

Если сценарий имя файла news.php и в /home/user/news.php кронтаб линия кажется, быть:

* * * * * php /home/user/news.php 

Если вы хотите, не запускайте это каждую минуту. Вы можете редактировать * с слева (м, д, дом, пн, доу)

Но вы не можете это сделать, если только у вас есть же веб-хостинг, вы должны иметь доступ к оболочки или другой способ настройки ваш crobtab файл (возможно, с вашей панели доступа провайдера)

Но вы можете запустить кронтаб работу на другом сервере, чтобы запустить news.php в апача по протоколу HTTP. В этом случае ваше задание crontab на удаленном сервере должно запускать ваш скрипт через Интернет. Например. Wget является хорошим вариантом для этого:

* * * * * wget http://www.yourdomain.com/dir/news.php 
+0

отличное решение! –

+0

то, что мое решение не принято? ;-) – Svisstack

1

Мой совет не позволяют PHP скрипт вызывается с помощью Apache для изменения хрон. На этом все написано. Обычно cron настроен так, чтобы требовать корневого разрешения. Это можно изменить, но дело в том, что если ваш сайт будет взломан, предоставление злоумышленнику возможности изменить ваш cron может быть действительно очень плохой.

Более того, это не обязательно. Все, что вы делаете, это выбрать некоторую детализацию, скажем, каждую минуту или 5 минут или 10 минут. Вы говорите пользователям, что они могут запланировать его до этого уровня. Дайте им несколько вариантов от каждого месяца до каждых 5 минут. Независимо от того, что они выбирают, напишите его в базу данных.

Затем запустите разный PHP-скрипт каждые 1, 5 или 10 минут (независимо от минимальной степени детализации) и посмотрите, что есть в базе данных, чтобы увидеть, есть ли что-нибудь для запуска, выполнения или отправки.

+0

Вы можете редактировать crontable пользователем, но каждый пользователь имеет независимый самонастраиваемый. – Svisstack

+0

@Swisstack да, но это один пользователь для всего вашего веб-приложения (как правило, «никто» в Linux). – cletus

1

Yup Возможно, но на совместном хостинге это повлияет как на ваши, так и на другие сайты на этом хосте.

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

Смежные вопросы