Домены и Хостинг
Вход для управление доменами
Регистрация и проверка доменов
Например: reg-name.ru для проверки одного домена или reg-name для проверки выбранных зон
.ru
299 руб
.su
649 руб
.рф
199 руб
.com
1120 руб
.net
1160 руб
.org
1180 руб
.info
1020 руб
.name
1020 руб
.pro
1650 руб
.tel
1990 руб
.mobi
1990 руб
.tv
3490 руб
.me
2650 руб
.in
950 руб
.ws
1890 руб
.de
940 руб
.es
940 руб
.us
940 руб
.asia
1840 руб
.biz
1105 руб
.cc
2010 руб
.xxx
9300 руб
.mn
4030 руб
.co
2920 руб
Панель управления хостингом

Cron Запуск программ в определенное время

Cron - инструмент для запуска программ по параметрическому расписанию


В операционных системах UNIX, FREEBSD и им подобных для запуска программ по параметрическому расписанию используется инструмент, называемый cron. С помощи cron пользователь может запускать свои программы  или скрипты по расписанию.

Cron работает с конфигурационным файлом, куда записывает расписание запуска программ. с нужными параметрами, данный конфигурационный файл просматривается постоянно cron'ом и запускаются те программы, время запуска которых подошло.

Редактируется конфигурационный файл с помощью шела SSH и программы crontab. Все программы запускаемые cron, выполняются от имени пользователя или владельца конфигурационного файла.

Инструкция по cron
Редактировать файл можно двумя способами.

Первый - редактирование через crontab.

○ Наберите в командной строке шела SSH команду crontab -e. После откроется редактор VI с содержимым вашего конфигурационного файла. Если это первый запуск crontab, то файл соответственно будет пустой.
○ Отредактируйте содержимое по инструкции описаной чуть ниже.
○ Выйдите из редактора и crontab автоматически даст команду демону cron выполнить проверку файла и проиндексировать содержимое.

 

Минус данного способа в том что редактор VI, в котором открывается файл, очень сложен в использовании и требует определенного опыта работ с данным редактором VI.

Второй способ - приказ демону перечитать уже готовый файл. Данный способ более проще.

○ Создайте с помощи SSH конфигурационный файл на сервере для этого используйте команду touch имя_файла.
○ Отредактируйте его в файловом менеджере, например FAR или TOTAL_CMD.
○ Далее Вам необходимо выполнить команду crontab имя_файла. При этом crontab даст команду демону cron выполнить и перечитать Ваш файл.

 

ВАЖНО ЗАПОМНИТЬ! Для того, чтобы любое изменение конфигурационного файла вступило в силу, Вам необходимо заного выполнять команду crontab имя_файла. Но при этом все предыдущие настройки crontab будут удалены и заменены на новые.


Кроме этого, не следует путать файл конфигурации crontab с тем файлом который Вы создаете сами. Так что только команда crontab имя_файла копирует содержимое Вашего файла в нужный файл crontab, и только после этого Ваш файл в ольше не нужен.

Синтаксис файла cron:

В конфигурационном файл каждая строка описывает программу, которая будет запускаться по расписанию. В каждая строке 6 полей, и каждое поле отделяются друг от друга пробелом или TAB (табуляцией).

 

Назначение полей cron:

  1. Минуты/Min (0-59)
  2. Часы/Hors (0-23)
  3. День месяца/Day (1-31)
  4. Месяц в году/Year (1-12)
  5. День недели (0-6, при этом 0 означает воскресенье)
  6. Программа или ссылка на скрипт, который будет запущен.

Поля 1, 2, 3, 4 и 5 может быть записано множествами способов:

  1. Символом * (означает что в этом поле будет любое значение)
  2. Списком через запятую (1,2,3) (перечень значений через запятаю)
  3. Списком через тире (1-31) (диапазон значений)
  4. И последний способ, указывает этап диапазона (*/2 означает через раз)

Так же Вы можете получать по почте результаты и ошибки при выполнения программ или скриптов. Для этого в конфигурационном файле пропишите MAILTO=email_адрес.

 

Дополнительные команды в crontab:

  ○ man cron - описание особенностей функционирования cron
  ○ man 1 crontab - описание способов использования crontab
  ○ man 5 crontab - описание формата конфигурационных файлов для cron

 

Запуск php скрипта из cron:

В примере используется запуск ежеменутно php скрипта:

* * * * * /usr/local/bin/php /home/user/www/site2/public_html/module.php


6 поле состоит из 2-х параметров:

/usr/local/bin/php - является путь до php-интерпретатора он обязательный и на нашем сервере именно такой (на других серверах путь возможно другой. Для того что бы узнать путь необходимо выполнить команды which php) 
/home/user/www/site2/public_html/module.php - является путь до скрипта и необходимо указывать от корня сервера.

 

Запуск php скрипта методом GET:

Запуск php скрипта методом GET из cron`a используют программу wget. Строка cron-файла пишется так:

* * * * * /usr/local/bin/wget 'http://домен/module.php?var1=aaa&var2=bbb'

/usr/local/bin/wget - путь до программы wget (или get).
http://домен/module.php?var1=aaa&var2=bbb - ссылка на сам скрипт и после ? параметры которые передадутся методом GET.

 

ВНИМАНИЕ! Если Вы не хотите, чтобы результат вывода от скрипта сохранился в файле, то вы можите использовать get программу вместо wget.

 

Запуск perl скрипта из cron:

Для запуска perl скриптов не надо указывать путь до интерпретатора, он уже должен быть прописан в загаловке самого скрипта perl. Весь остальной синтаксис идентичен запуску php скриптов.

 

Вернуться назад

Мы принимаем
Опубликовать у себя в:
Тех. поддержка
+7 966 30-999-66
c 1100 до 1900
support@reg-name.ru
24 часа
© WebStroyCom 2007—2018. Любое копирование контента с сайта запрещено! Вся информация на сайте является ознакомительной и не является публичной офертой.