Запуск PHP скрипта -> Аналог Cron в Windows

Планировщик заданий

Про Cron – демон Unix-систем, позволяющий автоматически запускать скрипты по заданному расписанию, слышал, наверное, каждый, кто хотя бы раз пробовал создать сайт самостоятельно. Cron позволяет легко автоматизировать запуск различных скриптов без участия пользователя. Веб-мастеру или SMM-щику это может понадобиться для автоматизированного сбора различной информации, которая постоянно обновляется (например, вы можете «заставить» скрипт получать последнее сообщение из своей группы в VK и вы водить его на своем сайте), или публикации новостей или постов на сайтах и в пабликах ВКонтакте в заданное время.

Аналог Cron в Windows

Сегодня работа с Cron возможна практически на любом shared-хостинге, за исключением совсем уж дешевых. Однако в некоторых случаях удобнее запускать скрипты со своего компьютера Windows. Особенно это актуально при работе с социальной сетью ВКонтакте, которая может затребовать капчу или даже временно заблокировать вам доступ, если вдруг скрипт с вашим токеном обратиться к сайту из «непривычного места», то есть будет иметь IP-адрес другой страны или даже города.

В этом случае на помощь придет встроенная в Windows программа – Планировщик заданий.

Планировщик заданий

Для ее запуска просто введите в строку «Выполнить» в меню «Пуск» Taskschd.msc. Перед вами откроется окно, где (возможно, если вы не являетесь опытным пользователем ПК, то удивитесь :)) в списке «Библиотека планировщика заданий» уже имеется несколько задач. В основном, они связаны с работой антивирусного ПО и автоматического обновления некоторых программ.

Задания в Планировщике

Затем щелкаем по строке меню «Действие» и выбираем пункт «Создать задачу». Перед вами появится окно для ввода настроек. Если на вашем компьютере аккаунт только одного пользователя, вкладку «Общие» можно оставить без изменений.

Основная интересующая нас вкладка - «Триггеры». Жмем на кнопку «Создать» и выбираем опцию «Начать задачу». Выстраиваем настройки, в зависимости от того, как часто требуется запускать скрипт. Обратите внимание на пункт «Дополнительные параметры», который позволяет запускать скрипт каждый несколько минут или каждый час.

Создание триггера

Жмем на кнопку «Создать» на вкладке «Действия». И в появившимся окне, кликнув на кнопку «Обзор», указываем путь к программе или скрипту, запуск которого вы хотите автоматизировать.

Запуск программы в Планировщике заданий

Проще всего использовать Планировщик заданий в совокупности со скриптами VBS, которые написаны на встроенном языке Windows и не требуют для запуска никакого дополнительного софта. При знании VBScript на написание необходимых скриптов уйдет совсем немного времени.

Вот, например, скрипт, отправляющий текст из файла 1.txt на стену паблика ВКонтакте. Естественно, параметр owner_id необходимо заменить на ID нужного паблика, а в параметре access_token указать свой токен.

Dim fso,ts,stroka
Adress = "1.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(Adress, , 1, False)
stroka = ts.ReadAll
ts.Close
Dim objHTTP
Set objHTTP = CreateObject("Microsoft.XMLHTTP")
Url = "https://api.vk.com/method/wall.post?owner_id=-1&friends_only=0&from_group=1&message="&stroka&"&signed=0&mark_as_ads=0&ads_promoted_stealth=0&v=5.62&access_token="
Call objHTTP.Open("GET", Url, False)
Call objHTTP.Send

Запуск PHP скрипта в планировщике заданий

С PHP (а также Perl, Python, Ruby и некоторыми другими скриптами) несколько сложнее. Дело в том, что Windows не содержит встроенных инструментов, позволяющих их запускать, а при щелчке мышью по файлу с расширением .php откроется текстовый блокнот, а не выполнятся записанные там команды.

Поэтому вам понадобится установить интерпретатор, чтобы выполнять скрипты как обычную программу. Самое простое решение для запуска PHP в Windows – это Денвер, он же «Джентельменский набор веб-разработчика».
После этого запускать PHP скрипты в «Планировщике заданий» можно будет создав bat-файл с указанием пути к интерпретатору скрипта и к самому скрипту, например:

Z:\usr\bin\php.exe d:/webservers/script.php

После в «Планировщике заданий» необходимо указать путь к bat-файлу, который и будет периодически запускать нужный скрипт.


Меню сайта

Планировщик заданий
Планировщик заданий