Crontab
понедельник, 8 января 2007 г. в 12:04:09
Cron или crontab - UNIX демон, периодически вызывающий некоторую комманду. Обычно доступ к его настройкам поставляется на хостингах в контрольной панели, либо через прямой доступ по ssh.
По умолчанию демон должен работать, но если нет - можно запустить вручную
service crond start
Вот несколько комманд для редактирования файла
crontab -e nano /etc/cron.d/sitename
Cron хранит таблицу настроек вида
минута | час | день | месяц | день недели | комманда |
Благодаря этой программе можно разрабатывать эффективные приложения на php практически с неограниченным временем исполнения, благодаря постоянному вызову этого файла. Вызывать можно либо через UNIX утилиту wget, либо напрямую из php:
#В случае ошибок, будет присылаться письмо
MAILTO="artkurapov@gmail.com"
#сохраняет каждую минуту в пустоту.. не очень красиво. local кстати тут для мака
* * * * * /usr/local/bin/wget -q -O /dev/null http://example.com/auto.php
#вот теперь даже сохранять не надо ничего..
* * * * * /usr/bin/wget --spider -q http://example.com/auto.php
* * * * * root cd /var/www/sitename/ && php -d max_execution_time=0 index.php some_argument_as_function
Вариации
Если у нас маленький сайт/домашняя страница, где надёжность не настолько важна как в банковских системах, то можно использовать публичный ресурс WebCron.org
Если система - десктоп с Windows, то можно использовать удобно прячущуюся в tray, программку nnCron .