Как запустить скрипт через Cron (CronTab), примеры и нюансы

Дорогие друзья, сегодня расскажу многое, что знаю, об особенностях работы с Cron. Скриптики делаю под него давно, некоторые шишки набил.

Синтаксис времени Cron

Синтаксис достаточно простой, включает из себя 5 цифр через пробел. Документация из 5 строк:

* any value
, value list separator
range of values
/ step values

Примеры:

  • запись типа «1 * * * *» будет означать запуск задачи каждую первую минуту часа, т.е. она будет выполняться каждый час;
  • запись «*/10 * * * *» будет запускать задачу через каждые 10 минут;
  • запись «0 * * * *» будет соответствовать запуску задачи каждый час;
  • запись «0 0 * * 0» будет соответствоватьзапуску задачи раз в 7 дней.

Проще всего в этом разобраться с помощью веб-сайта конструктора  https://crontab.guru/

Настройка Cron на Timeweb:

  1. Логинимся на Timeweb
  2. Слева в меню Выбираем CronTab, дальше заполняем поля, там всё интуитивно понятно, периодичность есть либо готовые заготовки (скриншот), либо пишем синтаксисом, жмём «ОК».

Ничего сложного, сам очень долгое время сидел на Timeweb, всем устраивало, начал переходить на VPS только в 2016 году.

Настройка Cron на Open Server на Windows

В трее жмём на иконку Open Server -> Настройки.

Выбираем вкладку «Планировщик заданий».

Синтаксис такой же, но нельзя написать на английском названия, например Every day. Я обычно пишу для «выполнять каждую минуту» — «* * * * *».

Внимание! В поле «Выполнить» — Пишем не просто путь к файлу, иначе он будет запускаться через Notepad++, PhpStrom, или что у Вас стоит, а нужно его интерпретировать. Поэтому пишем следующий код:

В общем-то всё.

Настройка Cron на VPS

На VPS мне настраивал товарищ, пояснил всё так. Разумеется, сначала надо подключиться по SSH любым способом:

Проверка — выполняется ли Cron-задача

Я обычно создаю php-файл и ставлю на него задачу. Содержимое:

При каждом выполнении будет создаваться файлик в папке с исполняемым php:

Код скрипта неправильно работает через Cron-выполнение

Такое тоже имеет место быть, обычно, чтобы починить — достаточно иземнить относительные пути в тексте на абсолютные, и всё заработает. У меня была только такая проблема даже на самых сложных скриптах.

Таким образом мы разобрались с cron — 4 буквами, которые давно пугали нас в различных текстах и можем гораздо больше, нежели можно добиться обычным разовым выполнением скрипта.

Как часто вы используете CronTab?
Каждый деньЕженедельноЕжемесячно0 0 1 */6 *Не использовал

Оцените статью!

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Для отправки сообщения выберите лишнее изображение