- Настройка и запуск cron на веб-сервере
- Как задавать время в Cron
- Пример
- Настройка Cron в ISPmanager
- Настройка Cron для запуска PHP-скрипта
- Полезные примеры
- Планировщик CRON
- Как добавить новую задачу на хостинге Linux
- Помощь
- Вход в личный кабинет
- Регистрация клиента
- Сообщить об ошибке
- Запуск программ в определенное время с помощью Cron
- Настройка Cron в ISPmanager 5
- E-mail отчёты о выполнении расписания
- Настройка Cron по ssh
- Как запускать PHP-скрипты в нужное время
- Как настроить уведомления об ошибках
- Как запустить скрипт от имени конкретного пользователя
- Ограничения
- Планировщик
- Просмотр списка заданий планировщика
- Создание нового задания
- Запуск задания
- Настройка глобальных параметров
- Дополнительная информация
Настройка и запуск cron на веб-сервере
Cron — это программное обеспечение для настройки автоматического выполнения заданий (скриптов) в Unix/Linux подобных системах: Centos, Debian, Ubuntu и других. Этот планировщик задач работает аналогично во всех версиях операционных систем.
Добавить скрипт в Cron можно через специальный файл «crontab», содержащий список заданий для выполнения.
Пример пустого файла crontab
Как задавать время в Cron
Чтобы правильно добавить задание сначала указывается время и периодичность и в конце путь к исполняемому скрипту.
- минута (0-59);
- час (0-23);
- день (1-31);
- месяц (1-12);
- день недели (0-6);
- путь к исполняемому файлу.
Все значения указываются через пробел и при необходимости можно вводить множество значений через запятую.
Пример
Строка следующего вида подразумевает выполнение команды каждый день в 7 утра и 7 вечера:
Настройка Cron в ISPmanager
Настроить Cron на хостинге проще всего через панель управления. Для примера разберем как производится настройка планировщика в ISPmanager 4.
- Открываем панель управления ISPmanager и переходим в «Планировщик» в разделе «Главное». Далее создаем новое задание, нажимая на кнопку «Создать».
- Заполняем поля в открывшемся редакторе и нажимаем «ОK»:
- Команда — здесь указываем полный путь (директорию) к исполняемому файлу программы или готовому рабочему скрипту.
- Описание — по желанию можно добавить краткое описание выполняемого задания.
- Расписание— добавляем расписание с возможностью выбора режима. Режим «Базовый» — с выбором доступных вариантов и «Экспертный» — самостоятельная настройка.
- Eсли есть возможность, нужно настроить получение отчетов по запуску заданий на почтовый адрес пользователя. Для этого открываем «Планировщик» → «Настройки» → «Адрес e-mail» и указываем адрес почты для получения. После чего нужно убедиться, что в настройках не стоит галочка напротив «Не отправлять отчет по e-mail».
Настройка Cron для запуска PHP-скрипта
В некоторых случаях бывает так, что автоматическое выполнение PHP-скрипта невозможно. Чаще всего подобные ошибки случаются при запуске PHP-скрипта через локальный интерпретатор. В таких случаях требуется запустить Cron вручную, для чего лучше всего использовать программу wget. В приведенном ниже примере «example.com» нужно заменить на реальный путь к вашему PHP-файлу.
Полезные примеры
Разберем уже приведенный выше пример, немного изменив параметры:
Запуск PHP-скрипта будет происходить в 7:00 и 19:00 каждого воскресенья и 3 числа каждого месяца (совпадения дня недели и числа не имеют значения).
/dev/null/2>&1 — эта команда Cron добавляется в конце сценария (строки), для выполнения скрипта в фоновом режиме без уведомлений.
Помимо этого, можно добавлять другие полезные опции в конце строки планировщика Cron. Как например, для отладки запускаемого скрипта, нужен лог-файл выполнений.
То есть, если мы хотим настроить вывод результатов запуска задания Cron в определенный файл, можно изменить команду следующим образом:
Просмотрев такой лог, можно понять причину, почему Cron не выполняет скрипт.
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Источник
Планировщик CRON
Cron (Command Run ON) — планировщик задач. Используется для выполнения команд и скриптов на сервере хостинга в определённое время. Планировщик cron доступен после заказа услуги хостинга Linux или Windows.
Как добавить новую задачу на хостинге Linux
Управлять заданиями планировщика можно в панели управления веб-хостингом.
В разделе «Главное» выберите пункт Планировщик и нажмите Создать:
- Команда — введите команду для запуска, которая должна выполняться. Примеры команд приведены в разделе ниже,
- Описание — введите описание,
- Расписание — выберите тип расписания и в оставшихся полях задайте периодичность выполнения задания.
В разделе «Расширенный» нажмите Запланированные задания:
В поле Общие параметры задайте период выполнения задания, а в поле Команда введите команду для запуска, которая должна выполняться. Примеры команд приведены в разделе ниже. Нажмите Добавить новое запланированное задание:
Перейдите в раздел «Сайты и домены». Нажмите Планировщик задач:
Нажмите Добавить задачу:
Выберите Тип задачи:
- Если вы выбрали Выполнить команду, в поле Команда введите команду для запуска, которая должна выполняться. Примеры команд приведены в разделе ниже;
- Если вы выбрали Получить URL-адрес, в поле URL-адрес укажите URL-адрес, где находится скрипт. При этом команду писать не нужно;
- Если вы выбрали Выполнить PHP-скрипт, в поле Путь к скрипту укажите путь к скрипту относительно папки виртуального сервера, а в поле Аргументы укажите аргументы скрипта, если они есть. В поле Использовать версию PHP выберите версию PHP.
Заполните остальные поля, они одинаковы для всех типов задач:
Запустить — выберите в раскрывающемся списке периодичность выполнения задания и назначьте время исполнения,
Описание — введите описание,
Уведомлять — выберите тип уведомлений.
Готово, вы добавили новую задачу в планировщике cron.
Источник
Помощь
Вход в личный кабинет
Регистрация клиента
Сообщить об ошибке
- Помощь
- Управление хостингом
- Запуск программ в определенное время с помощью Cron
Запуск программ в определенное время с помощью Cron
Настройка Cron в ISPmanager 5
Перейдите в раздел Система → Планировщик .
Создайте новую задачу с помощью одноименной кнопки. Заполните поля в открывшемся редакторе:
«Команда»: выполняемая команда или полный путь до скрипта (не обязательно для системных команд).
Для файла script.sh :
Проверьте, что файл доступен для исполнения и чтения владельцу. Если таких прав нет, добавьте их с помощью:
«Описание»: необязательное поле-напоминание о том, что выполняет сценарий.
«Расписание»: повторяемость сценария. Доступна в двух вариантах:
1. Базовый — выбор из доступных вариантов: каждый час, при запуске и др. Например, запуск задачи по средам в 2 часа 45 минут ночи.
2. Экспертный — вы настраиваете периодичность исполнения команды самостоятельно. Например, запуск задачи 10 августа в 2 часа 2 минуты каждый год.
Когда заполните все обязательные поля, кликните ОК .
E-mail отчёты о выполнении расписания
Чтобы получать уведомления о выполнении заданий, зайдите в Планировщик → Настройки → Адрес e-mail и укажите свою почту.
Проверьте, чтобы в настройках самой задачи не было галочки в поле «Не отправлять отчёт по e-mail».
Настройка Cron по ssh
Cron записывает расписание запуска программ в конфигурационный файл. Посмотреть и отредактировать его можно из командной строки с помощью текстового редактора:
— посмотреть список заданий для текущего пользователя.
— посмотреть список заданий для указанного логина.
— отредактировать список заданий для текущего пользователя. Используйте ключ -u имя_пользователя, чтобы отредактировать другой список для другого логина.
— удаляет очередь заданий.
Задания выглядят так:
— всё параметры через пробел.
Например, такое задание:
Сценарий выполнится в 05:25 25-ого февраля в воскресенье.
Чтобы задать несколько значений сразу, пишите их через запятую. Чтобы задать интервал, используйте тире.
Такое задание будет запускаться каждый час с 4:59 по 9:59 5-ого, 7-ого и 31-ого января в воскресенье, даже если дата и день недели не совпадают.
* — все возможные значения. В поле дни * означает запуск каждый день.
/ — дополнительная периодичность. “*/4” в поле дни — запуск каждые 4 дня.
Такой сценарий будет выполняться в 17:44 по воскресеньям и 3-его числа, даже когда этот день недели и дата не совпадают.
Чтобы сценарий выполнялся при запуске системы, вместо даты, месяца и т.д. пропишите @reboot :
Если сценарий нужно выполнить 1 раз за день, запланируйте это на ночь. Даже самый ресурсозатратный сценарий выполнится быстрее — в это время серверы нагружены меньше всего.
Как запускать PHP-скрипты в нужное время
Выполнять PHP-скрипты в определенный час и с нужной повторяемостью можно через локальный интерпретатор.
Но для многих скриптов локальное исполнение не подходит. Загрузите такой файл с помощью wgett .
Как настроить уведомления об ошибках
Чтобы отслеживать ошибки при выполнении программ, пропишите в начале cron-сценария:
Поместите в конце сценария /dev/null 2>&1 , если не хотите видеть вывод исполняемого скрипта в уведомлении. В Cron это будет выглядеть так:
Удостоверьтесь, что синтаксис скриптов корректен — воспользуйтесь командой
Если всё в порядке, вы увидите: «No syntax errors detected in script.php» .
Как запустить скрипт от имени конкретного пользователя
Запускать скрипты от имени суперпользователя — серьезная уязвимость. Чтобы не произошло непоправимого, лучше запускать программы и скрипты от имени пользователя с ограниченными правами.
Дайте нужному пользователю права на выполнение скрипта. В запланированном задании добавьте su -l имя_пользователя
0 1 * * * su -l vasya /usr/bin/php -q /home/script/script.php
Ограничения
Они такие же, как и для любых других программ: по количеству памяти, времени выполнения, размеру файлов и т.д
Источник
Планировщик
Планировщик — это инструмент для автоматического выполнения заданий на сервере, повторяющихся с заданной периодичностью. С его помощью вы можете осуществлять гибкую настройку различных задач. Под заданием планировщика (cron) понимается полный путь до программы, которая должна выполняться автоматически с заданной периодичностью, и, если необходимо, набор аргументов.
Просмотр списка заданий планировщика
- Команда — путь до программы, которая должна выполняться автоматически с заданной периодичностью.
- Расписание — периодичность выполнения задания.
- Статус
- Описание — описание задания.
Создание нового задания
Чтобы создать новое задание планировщика, нажмите кнопку «Создать» и заполните поля формы:
- Команда — укажите полный путь до программы, которая должна выполняться автоматически с заданной периодичностью, и, если необходимо, набор аргументов. Например: /bin/date «+%d-%m-%Y».
- Описание — укажите произвольное описание
- Расписание — выберите тип выполнения задания:
- базовый режим — позволяет выбрать настройку из предложенных вариантов.
- Выполнять — установите периодичность выполнения задания:
- каждый час — задание будет выполняться в 0 минут каждого часа.
- ежедневно — задание будет выполняться ежедневно ровно в 00:00.
- еженедельно — задание будет выполняться каждое воскресенье ровно в 00:00.
- ежемесячно— задание будет выполняться первого числа каждого месяца ровно в 00:00.
- ежегодно— задание будет выполняться каждый год 1 января ровно в 00:00.
- при перезагрузке — задание будет выполняться после каждой перезагрузки операционной системы.
- Выполнить в — более гибкая настройка периодичности с дополнительным набором полей. Возможны три варианта настройки настройки периодичности минут и часов.
- экспертный режим — данный режим позволяет выбирать более точные значения.
- Минуты
- Часы
- Дни месяцев
- Месяцы
- Дни недели
- базовый режим — позволяет выбрать настройку из предложенных вариантов.
- Не отправлять отчёт по e-mail — установите флажок, чтобы вывод команды (stdout и stderr) не пересылался на адрес электронной почты, указанный в Глобальных настройках планировщика .
Запуск задания
Чтобы проверить работу какого-либо задания планировщика, выделите нужную запись в списке и нажмите кнопку «Выполнить».
- Команда — команда (последовательность команд), которая будет выполнена в оболочке операционной системы сервера.
- Каталог — укажите каталог, в котором будет выполнена команда.
Настройка глобальных параметров
С помощью данной функции можно настроить параметры, общие для всех заданий планировщика. Для этого выберите необходимое задание, нажмите кнопку «Настройки» и заполните поле формы:
- Адреса e-mail — укажите адрес электронной почты, на который будут пересылаться результаты выполнения команд планировщика, которые завершились с ошибкой.
- Путь — укажите пути, по которым будет производиться поиск исполняемых файлов. Пути разделяются двоеточием.
Дополнительная информация
Как добавить в планировщик скрипт php на выполнение.
Например, путь скрипта /var/www/user/data/www/domain.com/script.php
Вызываем скрипт, передав его интерпретатору.
(узнать путь до php можно выполнив команду whereis php)
Вызываем скрипт через wget.
(узнать путь до wget можно выполнив команду whereis wget)
Источник