Мы написали скрипт, который создает новые посты для WordPress, вытягивая данные из базы данных, которая по FTP приходит извне. Скрипт запускается методом введения в строку браузера адреса скрытой страницы (например "_www.nashwebsite.com/stranica-id=1000").
Ломаем теперь голову как сделать чтобы этот скрипт запускался сам ежедневно (без чьего-либо вмешательства).
Подумал, что должно быть уже есть какой-то сервис (возможно даже платный), который сможет заходить на страницу в указанное время раз в день. Но увы такой не могу найти.
Добавьте его выполнение в cron. Если добавляете просто через интерпретатор командной строки (php имя_скрипта), имейте в виду что переменные окружения могут быть не такими как обычно. Возможно проще будет добавить в cron вызов curl с опцией quiet и адресом нужной страницы.
Не все скрипты корректно будут работать через php-cli. Такой способ универсален (да и использоваться с любой *nix-тушки может).
-O — чтобы был лог у скрипта, хотя бы примитивный.
2>/dev/null, чтобы всякая чушь в неведомую даль не летела — у меня на root@debian.ru около 18к писем за месяц от кронов чужих.
Ну я встречался, поэтому частенько перестраховываюсь, особенно в случаях, когда скрипт «запускают из браузера и хотят запускать автоматически». Тогда он и из курла точно сработает.
Тогда всплывают, правда, проблемы с куками и прочим (которых, впрочем, никто не отменял в консоли), но их легко отмести, проверив работу страницы в порно-режиме.
Ну и опять же — если у хостера нет крона, то такой запрос можно делать чуть-ли не с любой кофеварки. Уж с рутованного андроида точно. На моём уже давно живет развесистый крон, который собирает всякие полезняшки и складывает их в текстовики.
Если вам все равно откуда вызывать скрипт (с локальной машины или внешняя среда), то настройте планировщик задач на включенной всегда машине с подключением в интернет.
Хотя в таких случаях планировщик на веб-сервере (cron — *NIX, планировщик на окнах) самое правильное решение.
+1 ко всем.
А если просто хостинг, а никакие не сервера, — крон обычно вынесен в панели управления отдельной мешюшкой-страницей. В директ админе он называется «Планировщик Задач».
Раз в сутки, нужно поставить к графе «час» "*/24"
А команду как то типа /usr/local/bin/php -f /home/vnutrenniu_put/domains/nashwebsite.com/public_html/stranica-id=1000