crontab примеры каждый день
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 и их значение
Ключевое слово | Эквивалент |
---|---|
@yearly | 0 0 1 1 * |
@daily | 0 0 *** |
@hourly | 0 **** |
@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, как показано ниже.
Планирование заданий Cron с помощью Crontab
Cron — это демон планирования, который выполняет задачи через определенные промежутки времени. Эти задачи называются заданиями cron и в основном используются для автоматизации обслуживания или администрирования системы.
Задания cron можно запланировать для запуска по минуте, часу, дню месяца, месяцу, дню недели или любой их комбинации.
Что такое файл Crontab
Crontab (таблица cron) — это текстовый файл, определяющий расписание заданий cron. Есть два типа файлов crontab. Общесистемные файлы crontab и файлы crontab отдельных пользователей.
Файл /etc/crontab и сценарии в каталоге /etc/cron.d являются общесистемными файлами crontab, которые могут редактировать только системные администраторы.
Синтаксис и операторы Crontab
Каждая строка в пользовательском файле crontab содержит шесть полей, разделенных пробелом, за которым следует команда, которую нужно запустить.
Первые пять полей могут содержать одно или несколько значений, разделенных запятой, или диапазон значений, разделенных дефисом.
Общесистемные файлы Crontab
Синтаксис общесистемных файлов crontab немного отличается от пользовательских файлов crontab. Он содержит дополнительное обязательное пользовательское поле, в котором указывается, какой пользователь будет запускать задание cron.
Предопределенные макросы
Есть несколько специальных макросов расписания Cron, используемых для определения общих интервалов. Вы можете использовать эти ярлыки вместо указания даты из пяти столбцов.
Команда Linux Crontab
Команда crontab позволяет вам установить, просмотреть или открыть файл crontab для редактирования:
Переменные Crontab
Ограничения Crontab
По умолчанию существует только файл /etc/cron.deny и он пуст, что означает, что все пользователи могут использовать команду crontab. Если вы хотите запретить доступ к командам crontab определенному пользователю, добавьте имя пользователя в этот файл.
Примеры заданий Cron
Ниже приведены некоторые примеры заданий cron, которые показывают, как запланировать выполнение задачи в разные периоды времени.
Запускайте команду в 15:00 каждый день с понедельника по пятницу:
Выполняйте две команды каждый понедельник в 15:00 (используйте оператор && между командами):
Запускать PHP-скрипт каждые 2 минуты и записывать результат в файл :
Запускайте скрипт каждый день, каждый час, каждый час с 8 утра до 4 вечера:
Запускайте скрипт в первый понедельник каждого месяца в 7 утра.
Запускайте скрипт в 21:15 1 и 15 числа каждого месяца:
Выводы
Cron — это демон, который позволяет вам планировать задачи на определенную дату и время.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Время планировать задачи
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Например, вы можете установить задание 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
Демон cron автоматически устанавливает несколько переменных окружения.
Ограничения Crontab
Примеры Cron заданий
Ниже приведены некоторые примеры заданий cron, которые покажут вам, как запланировать выполнение задачи на разные периоды времени.
Cron Jobs — пособие для начинающих
Авторизуйтесь
Cron Jobs — пособие для начинающих
Cron — один из часто используемых инструментов для Unix-систем. Его используют для планирования выполнения команд на определённое время. Эти «отложенные» команды или задания принято называть «Cron Jobs». Такой инструмент отлично подходит для регулярных бэкапов, мониторинга дискового пространства, удаления файлов (например, логов) и много чего ещё. В этой статье будет рассказано о работе с Cron на Linux.
Введение
Шаблон задания для Cron выглядит примерно так:
Вот иллюстрация этого же шаблона, которую можно сохранить себе:
Звёздочками обозначены конкретные блоки времени.
Для отображения содержимого crontab-файла текущего пользователя используйте команду:
Для редактирования заданий пользователя есть команда:
Если эта команда выполняется в первый раз, вам предложат выбрать редактор для Cron:
Выбирайте на своё усмотрение. Вот так изначально выглядит crontab-файл:
В этом файле как раз нужно перечислять одну за другой все команды.
Чтобы изменить crontab-файл другого пользователя (например, ostechnix):
Ниже приведены несколько примеров cron-заданий:
Ещё существуют готовые задания:
Чтобы выполнять команду каждый раз после перезапуска сервера, используйте это задание:
Команда для очистки всех заданий текущего пользователя:
Чтобы узнать о подробностях, есть команда:
Вышеперечисленного уже должно хватить для базовой работы с Cron и составления заданий.
Синтаксис crontab-генераторов
Процесс написания заданий сильно упрощают веб-инструменты. Они не требуют знаний синтаксиса Cron, потому что у них графический интерфейс, а задания генерируются в соответствии с вводимыми данными. Сайт генерирует задание, которое можно будет просто скопировать и вставить в crontab-файл.
Crontab.guru
crontab.guru — отличный сайт, чтобы изучить различные примеры cron-заданий. Просто введите данные и сайт самостоятельно сгенерирует конечное задание.
На сайте есть разделы, посвящённые примерам и советам.
Crontag Generator
crontab-generator.org — ещё один сайт, который помогает быстро сгенерировать crotab-выражения. Принцип такой же: нужно ввести все необходимые данные в формы и нажать кнопку «Generate Crontab Line» внизу страницы.
Сайт Crontab Generator
Вот такое конечное выражение вы увидете на сайте:
Помимо этого, есть веб-инструмент «Crontab UI», который обеспечивает не только простоту создания crontab-заданий, но и безопасность. Вот статья, посвящённая этому инструменту.
18 примеров команды crontab
Cron (Command Run ON) — утилита для автоматического запуска программ и скриптов на сервере в определённое время. Cron очень полезен для рутинных задач, таких как сканирование системы, ежедневное резервное копирование и т.д. Cron автоматически выполняет задания в бэкенде в указанное время. Управлять cron нужно с помощью crontab. В этой статье вы увидите 18 полезных примеров команды crontab.
Синтаксис Crontab
Crontab имеет шесть полей. 1-5 поля определяют дату и время исполнения. 6 поле используется для команды/скрипта. Синтаксис выглядит следующим образом:
Как изменить расписание
Чтобы добавить или обновить задания в 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, как показано ниже.