Первое что пришло в голову - Cron. Про него я слышал на своей прошлой работе, но никогда не имел с ним дело. Начал ковырять. Для начала я подключился с помощью PuTTY к серверу и узнал, что на нем стоит FreeBSD. Итого в Google пошел запрос "FreeBSD + Cron + PHP". Там узнал много интересного. Этим и поделюсь. Интересно? Жмем тут.
Для начала я скажу, что запустить скрипт напрямую мне не удалось (если кто знает как - прошу поделитесь). Зато я воспользовался Wget, который по задумке загружает файл из сети по HTTP или FTP (быть может еще как-то). Вот линк на руководство по этой тулзе.
В проекте использовался RewriteEngine и в папке проекта находился файл .htaccess, в котором я описал rule, по которому можно достучаться до необходимого мне PHP скрипта. В общем задача была - сделать так, чтобы из браузера, допустим по линку "http://bla.bla.bla/runme" можно было вызвать исходный скрипт.
Хорошо, из браузера скрипт запускается. Теперь я подключился через PuTTY к серваку и в консоли ввел "crontab -e". Эта команда отправила меня в редактор, в котором по началу было очень неудобно работать.
Чтобы что-то удалить надо было нажать Esc а потом удалять текст кнопкой "x". Чтобы начать редактировать - надо было нажать Esc а потом "i" (латинница). Чтобы сохранить введенную cron-rules надо было в конце строки в режиме редактирования нажать Enter - только так рула заработает. А для сохранения и выхода из редактора - Esc а потом ":wq" и Enter. Если нужно выйти без сохранения, а такое часто случалось потому, что неудобно было редактировать - жмем Esc а потом ":q!" и Enter. (кавычки в этих "i" "x" ":wq" ":q!" всех случаях вводить не надо).
Дальше командой "crontab -l" можно было просмотреть что же там было введено.
Повторяться не буду - что именно вводить в редакторе (какой синтаксис Cron rules) описано хорошо тут.
Для меня задача стояла запускать скрипт каждый час, допустим в XX:45. И я записал туда:
45 * * * * /usr/local/bin/wget -q http://bla.bla.bla/runme/usr/local/bin/wget - путь к программе Wget
-q -выключить сообщения Wget.
http://bla.bla.bla/runme адресс по которому из браузера можно запустить скрипт.
Ну и все :)
ты также можешь использовать DB scheduling, если мы говорим о DB layer
ОтветитьУдалитьСпасибо за линк.
ОтветитьУдалитьЭто не оно?
ОтветитьУдалитьhttp://masterhost.ru/support/doc/cron/
статья с набором линков, одна из форм продвижения! никакого анализа и разклада.
ОтветитьУдалитьВозможно для новичков "походить" дальше.
Спасибо написано очень доходчиво :)
ОтветитьУдалитьХочу добавить от себя детальное описание процесса настройки крона
Та не статья это вовсе, а всего лишь заметка. Некоторое время потратил, чтобы наковырять эту информацию и решил запомнить ее, в первую очередь, для себя. А если она кому-то еще и помогла - то это уже сверхприбыль.
ОтветитьУдалитьСпасибо за Ваши комментарии.
мучаюсь, мучаюсь, всеравно ошибка...
ОтветитьУдалить/home2/netupy/autoposting/twipostoauth.php
что не так?
а командой "php -f /dir/file.php" запускать не получилось ?
ОтветитьУдалитьОписание работы в vi доставило.
ОтветитьУдалитьЭтот комментарий был удален администратором блога.
ОтветитьУдалить