Запуск скриптов PHP из под Cron в ОС Windows
Наверняка ни один большой сайт, проект, не обходится без участия запуска скриптов автоматом используя демон Linux cron.
Что такое крон, описывать не буду, очень хорошо об этом написано на ссылке выше. Здесь я опишу как можно запустить скрипт автоматом используя теже команды, что в Linux, но только под Windows.
Для работ необходимо скачать программку
Распаковать, в полученной папке вы увидите 3 файла:
crontab - сюда записываются задания в формате крона crontab.exe - это исполняемый файл cron.log - отчет о работе крона
Далее запускаем файл crontab.exe, если надо чтобы крон стартовал сразу при запуске Windows, то помещаем его в папку автозапуска (пуск->программы->автозапуск), файл не работает как сервис, поэтому выход только такой.
Далее заходим в файл crontab и записываем команду
* * * * * d:/php5/php d:/www/test/phpinfo.php
это команда будет дергать файл d:/www/test/phpinfo.php каждую минуту.
Вот и все настройки, можете пользоваться и работать. Конечно это не полноценный демон, но главную задачу — запуск файла он делает.
В файле cron.log — будет записываться лог выполняемый кроном, вот содержимое:
17.02.2010 23:06 Cron started. 17.02.2010 23:07 d:/php5/php d:/SVN/www/test/phpinfo.php 17.02.2010 23:08 d:/php5/php d:/SVN/www/test/phpinfo.php
Для остановки работы крона, убираем его из процессов, с помощью диспетчера задач.
Всем удачи!
Статья просмотренна 67771 раз, зашло посетителей 24770
В виндовсе есть Назначенные задания, через которые тоже можно запускать приложения автоматом. Вещь интересная, но до полноценного крона немного не дотягивает
Не нужно выдавать недостаток знаний, за недостаток программы.
Включи php.exe в path лист, и используй "Планировщик заданий" и "Службы", также исполняй свои скрипты через .bat
А то вот начинают придумывать костыли, которые нахрен не нужны…
Станислав, вы видели в каком году писалась эта статья? 2010!!! Уже много воды с той поры утекло, а для себя я просто перешел полностью на Линукс и меня он полностью устроил, все проблемы с кроном, настройками прочих программ ушли на второй план. В общем я стал работать в том, что используется на проде.
А причем тут 2010? В каких из ОС Windows небыло cmd.exe, до 2010 года?
Windows 2000 — Windows NT 5.0 (2000 год)
Windows XP — Windows NT 5.1 (2001 год)
Windows XP 64-bit Edition — Windows NT 5.2 (2003 год)
Windows Server 2003 — Windows NT 5.2 (2003 год)
Windows XP Professional x64 Edition — Windows NT 5.2 (2005 год)
Windows Vista — Windows NT 6.0 (2006 год)
Windows Home Server — Windows NT 5.2 (2007 год)
Windows Server 2008 — Windows NT 6.0 (2008 год)
Windows Small Business Server — Windows NT 6.0 (2008 год)
Windows 7 — Windows NT 6.1 (2009 год)
Если Вы не умели, не умеете, или чего то не знаете, и т.д. Не надо это сваливать на недостаток ОС или ПО. А статья о том как прикрутить ненужный костыль, и запускать скрипты левой ногой через правое ухо.
Подобные статьи, вводят людей в заблуждение, и приводят к нежелательным последствиям.
P.S.
Пингвины не всегда подходят, под требуемые задачи. А жаль.. 🙁
Станислав, раз вы так шарите в Винде, то где ваша статья которая поясняет людям как пользоваться "кроном"???? Вы сделали какие-то шаги чтобы помочь? Или вы только можете критиковать?
Я хоть это сделал.
ЗЫ А год притом, что в то время я много не знал.
Моя статья? Еще и для тех, кто читать не умеет, или не хочет думать?
Описание cron:
демон-ПЛАНИРОВЩИК ЗАДАЧ в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в определённое время. Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные директории.
В Windows есть свой планировщик, так и называется — Планировщик заданий.
Родная документация к php и Windows:
Командная строка PHP в Microsoft Windows — http://php.net/manual/ru/install.windows.commandl…
Планирование задачи — Справка Windows — http://windows.microsoft.com/ru-ru/windows/schedu…
О каких дополнительных статьях, Вы говорите? Какое программирование и web разработка, если человек не может или не хочет, прочесть справку к тому, на чем собирается работать? Это начальный уровень обучения.. Начальный! Причем обучения пользователя, а не разработчика….
ИМХО
Windows плох для сервера вообще и для web в частности, только тем, что стоит денег. Пингвины распространяются бесплатно.
Есть, но удобнее крон юзать! (Поймут лишь линуксоиды!)
Это да!
Да конечно не дотягивает, но в принципе для теста (а имеено для чего под виндой запускать) покатит. Спасибо большое за ссылку, ссылка полезная!!!
Интересное решение. Просто и со вкусом.
Возникла проблема, если в crontab записать несколько команд через перевод строки, то программа видит все команды как одну, игнорируя перевод строки. Подскажите решение проблемы
Перейдите на Linux. С виндой я не хочу дружить…
Спасибо! Все работает.
@Андрей:
У меня несколько команд записанных через перевод строки работают. Возможно у тебя какая-то не та кодировка в редакторе стоит. Убедись что у тебя в качестве перевода строки стоит <CR><LF>. Это можно посмотреть в Notepad++ включив режим отображения всех символов (Вид>Отображение символов>Отображать все символы)
Подскажите пожалуйста, какая команда должна быть, чтобы дергал файл каждые 5 или 30 минут?
Пробовал вписывать как в линуксе, не работает.
Привет, вы знаете я уже года 4 как перешел на Линукс и не жалею об этом, поэтому я уже не могу вам подсказать как работает это программа
осталось только вздрочнуть на линкус
а как указать запуска каждые n минут? Например */2 * * * * возвращает ошибку Error in crontab, line 1: improper value.
А не подскажете, как изменить расписание выполнения задач? Т.е. чтобы он не каждую минуту выполнялся, а, скажем — раз в сутки или каждую неделю?