crontab раз в день

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Время планировать задачи

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Например, вы можете установить задание cron для автоматизации повторяющихся задач, таких как резервное копирование баз данных или данных, обновление системы последними обновлениями безопасности, проверка использования дискового пространства, отправка электронных писем, перезагрузка сервера и так далее. В некоторых приложениях, таких как Drupal или Magento, для выполнения определенных задач требуются задания cron.

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

Про Linux за 5 минут

Что такое файл Crontab

Crontab (таблица cron) представляет собой текстовый файл, который определяет расписание заданий cron. Существует два типа файлов crontab. Общесистемные файлы crontab и отдельные пользовательские файлы crontab.

/etc/crontab и файлы в каталоге /etc/cron.d являются общесистемными файлами crontab, которые могут редактировать только системные администраторы.

В большинстве дистрибутивов Linux вы также можете помещать скрипты в каталоги /etc/cron. , и скрипты будут выполняться каждый час/день/неделю/месяц.

Синтаксис Crontab и операторы

Каждая строка в пользовательском файле crontab содержит шесть полей, разделенных пробелом, за которым следует команда для запуска.

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

Общесистемные файлы Crontab

Предопределенные макросы

Существует несколько специальных макросов расписания Cron, используемых для определения общих интервалов. Вы можете использовать эти ярлыки вместо указания даты в пять столбцов.

Команда Crontab

Команда crontab позволяет установить или открыть файл crontab для редактирования. Вы можете использовать команду crontab для просмотра, добавления, удаления или изменения заданий cron, используя следующие параметры:

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Переменные Crontab

Демон cron автоматически устанавливает несколько переменных окружения.

Ограничения Crontab

Примеры Cron заданий

Ниже приведены некоторые примеры заданий cron, которые покажут вам, как запланировать выполнение задачи на разные периоды времени.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Crontab раз в день

MIN HOUR DOM MON DOW CMD

Таблица: Поля и допустимые диапазоны Crontab (синтаксис Linux Crontab)

ПолеОписаниеДопустимое значение
MINМинутыОт 0 до 59
HOURЧасыОт 0 до 23
DOMДень месяца1-31
MONМесяц1-12
DOWДень недели0-6
CMDКомандаЛюбая команда, которую требуется выполнить

1. Планирование задач в течение определённого времени

Основа использования cron – выполнение задач в определённое время, как показано ниже. Это будет выполнять скрипт полного резервного копирования (full-backup) 10 июня в 8.30.

Пожалуйста, обратите внимание, что поле времени использует 24-часовой формат, Так что 8 АМ – 8, 8 РМ – 20 часов.

2. Расписание задач для более частого выполнения (например, дважды в день)

Следующий скрипт использует дополнительное резервное копирование дважды в день каждый день. В этом примере выполняется дополнительное резервное копирование (incremental-backup) в 11:00 и в 16:00 каждый день. Значения через запятую в поле указывают, что команда должна быть выполнена в каждое указанное время.

3. Расписание работы в течение определённого интервала времени (например, только в будние дни)

Если вы хотите, чтобы подпрограммы выполнялись в течение каждого часа с определённым интервалом времени, используйте следующее.

Подпрограмма Cron для каждого дня в течение рабочих часов

Этот пример каждый день проверяет состояние базы данных (включая выходные) в течение рабочих часов с 9 утра до 6 вечера.

Подпрограмма Cron для каждого рабочего дня в течение рабочих часов

Этот пример проверяет состояние базы данных каждый рабочий день (кроме субботы и воскресенья) с 9 утра до 6 вечера.

4. Как просмотреть записи Crontab?

Просмотр текущих Crontab-файлов пользователя.

Чтобы просмотреть ваши файлы crontab-l из вышей учётной записи unix, проделайте следующее.

Просмотр root записей crontab

Практические рекомендации crontab: просмотрите другие записи crontab пользователя linux.

5. Как редактировать записи crontab?

Редактирование текущих пользовательских cron-записей.

Когда вы сохраните файл, он сохранит crontab и покажет следующее сообщение, где будет сказано, что crontab успешно изменён.

Редактирование root записей crontab

Редактирование записей crontab-файла другого пользователя

6. Выполнение Cron каждую минуту

В идеале, вам может и не потребоваться назначения выполнения cron каждую минуту. Но понимание этого примера поможет вам понять другие примеры, описанные в этой статье.

Указание */5 в поле минут означает каждые 5 минут. Указание 0-10/2 в поле минут означает каждые 2 минуты в первых 10 минутах. Таким образом, данная условность может быть использована во всех 4 полях.

7. Запуск фоновых задач Cron каждые 10 минут

Используйте следующее, если хотите проверять место на диске каждые 10 минут.

Эта задача выполняет указанную команду проверки диска каждые 10 минут на протяжении года. Но вам может потребоваться выполнение проверки только в рабочие часы или наоборот. Приведённые выше примеры показывают, как это сделать.

Вместо указания значений в 5 полях мы можем указать их, используя ключевое слово, как показано ниже.

Существуют особые условия, когда вместо 5 полей вы можете использовать @ и далее ключевое слово – такие как перезагрузка, полночь, ежегодно, ежечасно.

Специальные ключевые слова Cron и их значение

Ключевое словоЭквивалент
@yearly0 0 1 1 *
@daily0 0 ***
@hourly0 ****
@rebootЗапуск системы

8. Расписание работы для первой минуты каждого года с использованием @yearly

9. Запуск задач каждый месяц с использованием ключевого слова @monthly

10. Запуск задач каждый день с использованием @daily

11. Как выполнить команду Linux после каждой перезагрузки, используя @reboot?

13. 12. Как отключить/перенаправить исходящую почту Crontab, используя ключевое слово MAIL?

По умолчанию crontab отправляет выходные (output) задачи пользователю, который установил эту задачу. Если вы хотите перенаправить их другому пользователю, добавьте или обновите переменную MAIL в crontab, как показано ниже.

Если вы хотите, чтобы почта вообще не отправлялась, т.е прекратить отправку выходных файлов crontab, добавьте или обновите переменную MAIL в crontab, как показано ниже.

13. Как выполнять задачи Linux Cron кажду секунду, используя Crontab

Вы не можете настроить выполнение cron на каждую секунду. Потому что минимальная единица выполнения cron – минута. В обычном сценарии нет необходимости запускать выполнение cron каждую секунду.

14. Указание переменной PATH в Crontab

Во всех вышеприведённых примерах мы указывали абсолютный путь команды Linux или скрипта оболочки, которые должны быть выполнены.

15. Установка Crontab из Cron-файла

Вместо прямого редактирования файла crontab вы можете добавить, все записи в cron-файл. Если в файле есть эти записи, вы можете выгрузить или установить их в cron, как показано ниже.

Источник

18 примеров команды crontab

Cron (Command Run ON) — утилита для автоматического запуска программ и скриптов на сервере в определённое время. Cron очень полезен для рутинных задач, таких как сканирование системы, ежедневное резервное копирование и т.д. Cron автоматически выполняет задания в бэкенде в указанное время. Управлять cron нужно с помощью crontab. В этой статье вы увидите 18 полезных примеров команды crontab.

Синтаксис Crontab

Crontab имеет шесть полей. 1-5 поля определяют дату и время исполнения. 6 поле используется для команды/скрипта. Синтаксис выглядит следующим образом:

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Как изменить расписание

Чтобы добавить или обновить задания в crontab, используйте команду ниже. Откроется текстовый файл с заданиями crontab, где их можно будет редактировать.

По умолчанию откроются задачи текущего пользователя. Для редактирования задач другого пользователя используйте команду:

Как узнать список заданий Crontab

Для просмотра записей crontab текущего пользователя используйте команду:

Чтобы посмотреть список заданий другого пользователя, используйте -u:

Примеры

1. Ежедневно в 2 часа ночи.

Это будет полезно для ежедневного резервного копирования.

2. Дважды в день

Команда ниже будет выполняться в 5 утра и 5 вечера ежедневно.

3. Каждую минуту

4. Каждое воскресенье в 17:00

Пригодится для планирования еженедельных задач.

5. Каждые 10 минут

Если вы хотите запустить скрипт с интервалом в 10 минут, вы можете настроить его, как показано ниже. Может быть полезно для мониторинга.

6. Определенные месяцы

Иногда может понадобиться запланировать задачи только на некоторые месяцы. Ниже приведен пример скрипта, который будет запущен в январе, мае и августе.

7. Определенные дни

Если вам необходимо составить расписание выполнения задачи только на некоторые дни. Приведенный ниже пример будет выполняться каждое воскресенье и пятницу в 17:00.

8. Первое воскресенье каждого месяца.

Запланировать выполнение сценария только в первое воскресенье невозможно по параметру времени, но мы можем использовать условие в полях команд, чтобы сделать это.

9. Каждые четыре часа.

Если вы хотите запустить скрипт с интервалом в 4 часа:

10. Дважды в каждое воскресенье и понедельник.

Чтобы запланировать выполнение задачи дважды только в воскресенье и понедельник:

11. Несколько задач

Можно запланировать несколько задач в одной записи с помощью точки с запятой:

12. Ежегодно (@yearly)

@yearly равно «0 0 1 1 *». Задание будет выполняться в первую минуту каждого года. Можно отправить новогодние поздравления 🙂

13. Ежемесячно (@monthly)

@monthly равно «0 0 1 * *». Задание будет выполняться в первую минуту месяца.

14. Еженедельно (@weekly)

@weekly равно «0 0 1 * mon». Задание будет выполняться в первую минуту недели.

15. Ежедневно (@daily)

@daily равно «0 0 * * *». Задание будет выполняться в первую минуту каждого дня.

16. Ежечасно (@hourly).

@hourly равно «0 * * * *». Задание будет выполняться в первую минуту каждого часа.

17. Выполнение задач при перезагрузке системы (@reboot).

@reboot полезен для тех задач, которые вы хотите запустить при перезагрузке системы.

18. Отправка результатов заданий на электронную почту

Если вы хотите отправить вывод на почту, то это можно сделать, установив переменную MAIL, как показано ниже.

Источник

Настройка Cron

Именно для этих задач в Linux используется системный сервис cron. Это планировщик, который позволяет выполнять нужные вам скрипты раз в час, раз в день, неделю или месяц, а также в любое заданное вами время или через любой интервал. Программа часто используется даже другими службами операционной системы. В этой статье мы рассмотрим как выполняется настройка Cron и разберем основные часто используемые примеры.

Как работает Cron?

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

Она позволяет выполнять их даже если компьютер работает не всегда и время от времени выключается. Дата выполнения задания последний раз записывается в файл /var/spool/anacron, а затем, при следующем запуске anacron проверяет был ли запущен нужный процесс в нужное время, и если нет, то запускает его. Сам же сервис cron больше рассчитан на выполнение задач в течение дня или с точно расписанным временем и датой.

Настройка Cron

Для настройки времени, даты и интервала когда нужно выполнять задание используется специальный синтаксис файла cron и специальная команда. Конечно, вы всегда можете отредактировать файл /etc/crontab, но этого делать не рекомендуется. Вместо этого, есть команда crontab:

Поэтому тут нужно быть аккуратным, и если вам нужно выполнять скрипты от рута, то и crontab нужно выполнить от рута, а не от пользователя. Это часто становится причиной проблем.

Синтаксис crontab

Как я уже говорил, время задается особым синтаксисом, давайте рассмотрим синтаксис настройки одной задачи cron:

минута час день месяц день_недели /путь/к/исполняемому/файлу

Примеры настройки cron

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Далее, усложним, будем запускать каждый час, в нулевую минуту:

Запускаем в нулевую минуту нулевого часа, каждый день, это в 12 ночи:

0 0 * * * /usr/local/bin/serve

Если идти так дальше, то можно запускать в первый день каждого месяца:

0 0 1 * * /usr/local/bin/serve

Можно в любой день, например, 15 числа:

0 0 15 * * /usr/local/bin/serve

В первый день недели первого месяца года, 0 часов 0 минут:

0 0 * 1 0 /usr/local/bin/serve

Или в нулевой день недели каждого месяца:

0 0 * * 0 /usr/local/bin/serve

Вы можете выбрать любую минуту, час и день недели, например, 15.30 во вторник:

30 15 * * 2 /usr/local/bin/serve

30 15 * * sun /usr/local/bin/serve

Для того чтобы указать определенный интервал нужно использовать символ «-«, например, каждый час, с семи утра до семи вечера:

0 7-19 * * * /usr/local/bin/serve

Если нужно запустить команду несколько раз, можно использовать разделитель «,». Например, запустим скрипт в 5 и 35 минут пятого (16:05 и 16:35), каждый день:

5,35 16 * * * /usr/local/bin/serve

Кроме того, для некоторых часто используемых наборов были придуманы переменные, вот они:

Например, вот так просто будет выглядеть команда запуска скрипта раз в час:

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Если же вы собрались добавить скрипт в одну из папок, то, как я уже говорил, нужно чтобы его имя было без точек и у него были права на выполнение:

sudo vi /etc/corn.daily/basckup

Скрипт должен выглядеть подобным образом. Теперь вы знаете как настроить cron, осталось проверить как все работает.

Отладка работы

После того как вы настроили правила, еще хотелось бы проверить работают ли они. Для этого ждем того времени, когда скрипт уже должен быть выполнен и смотрим лог cron. Иногда он находится в /var/log/cron, а иногда пишется в syslog. Например, у меня в crontab есть такая строка:

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Она должна выполняться в 19.40 каждый день, теперь смотрим лог:

grep CRON /var/log/syslog

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

И видим что в нашем логе она действительно есть и выполняется целиком успешно. Если бы были какие-либо ошибки, то тут же было бы выведено сообщение.

Если нужно проверить скрипт, который находится в одной из специализированных папок, то тут еще проще, просто запустите run-paths, передав ей в параметр нужную папку или даже сам скрипт:

sudo run-paths /etc/cron.daily/

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

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

Выводы

В этой статье мы рассмотрели как выполняется настройка cron для удобного планирования автоматических задач. Надеюсь, эта информация была полезной для вас.

Источник

CronTab

Раздел CronTab (Задания по расписанию) служит для настройки выполнения команд по расписанию или в строго назначенное время, а также для немедленного запуска скриптов. Раздел содержит 3 вкладки: Мастер заданий, Составить задание вручную и Запустить скрипт.

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Сконфигурировать CronTab можно таким образом, что задача будет выполняться раз в месяц, день, час и ежеминутно или, например, каждые 10 минут. Также можно комбинировать расписания, к примеру, вам необходимо первые 2 часа выполнять задание раз в час, затем следующие 2 часа не выполнять.

Мастер заданий

С помощью мастера заданий вы легко сможете настроить время выполнения скриптов и произвольных команд.

Сначала выберите тип выполняемой операции:

После указания нужного типа операции нужно указать путь к исполняемому скрипту или вписать команду вручную. Для быстрого и удобного указания путей к PHP-, Perl- и Bash-скриптам вы можете воспользоваться проводником crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день, расположенным рядом с кнопкой crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день.

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Когда нужный скрипт будет выбран вы можете нажать на кнопку crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в деньи проверить работоспособность скрипта. Вам будет выведено окно с логом работы скрипта следующего вида:

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

После проверки кода на работоспособность можно приступать к настройке временных опций исполнения скрипта. Crontab предлагает настройки для 4 временных групп: минут, часов, дней, месяцев. При нажатии на каждую группу раскрываются опции настройки, как это показано на скриншоте:

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

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

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Задание можно включить/выключить, изменить или удалить с помощью кнопок, расположенных справа, напротив каждого из заданий:

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день— включить/выключить задание;

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день— изменить задание;

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день— удалить задание.

Ручная настройка CronTab

Ручная настройка CronTab позволяет настраивать время запуска скрипта в привычном виде, для тех, кто знаком с Cron.

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Время, интервал

Минуты могут быть от 0 до 59

Часы могут быть от 0 до 23

День месяца может быть от 1 до 31

Месяц может быть 1 до 12

Можно конфигурировать CronTab для выполнения задач не только в определенное время, но и ежеминутно, ежечасно, ежедневно, еженедельно или ежемесячно, используя комбинацию */x.

Примеры настройки временных интервалов

*/5 * * * * — запускать команду каждые пять минут

0 */3 * * * — запускать каждые три часа

0 12-16 * * * — запускать команду каждый час с 12 до 16 (в 12, 13, 14, 15 и 16)

0 12,16,18 * * * — запускать команду каждый час в 12, 16 и 18 часов

/site.ru/public_html/test.php — запуск каждую минуту php-скрипта test.php

/site.ru/public_html/test.pl — запуск каждый час perl-скрипта test.pl

Команда

Необходимо задать путь до скрипта от домашнего каталога. Например: public_html/cgi-bin/script.pl

Система сама подставит символ

/ (эта комбинация заменяет полный путь). Получится:

Если в конце пути поставить символ & (амперсанд), то скрипт будет работать в фоновом режиме. Установка этого символа необязательна.

В ряде случаев требуется выбрать версию PHP отдельно: /usr/local/bin/phpX.X или /usr/local/php-cgi/X.X/bin/php-script. Если для сайта установлена иная версия PHP, следует указать вместо X.X требуемую версию, например, 5.6, или актуальную для решения текущей задачи. Версия PHP, установленная для сайта (через раздел Сайты в панели управления), не учитывается при запуске РНР скриптов через Crontab или терминал.

Запустить скрипт

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

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

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

crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день

Напротив каждой команды в таблице есть кнопка запуска команды повторно crontab раз в день. Смотреть фото crontab раз в день. Смотреть картинку crontab раз в день. Картинка про crontab раз в день. Фото crontab раз в день. Это удобно, когда вам нужно повторно выполнить какую-нибудь команду введенную ранее.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *