Просмотр cron заданий линукс

Содержание
  1. ⏲️ Как просмотреть или составить список заданий Cron на Linux
  2. Как вывести список заданий Cron текущего пользователя
  3. Список заданий Cron другого пользователя
  4. Список заданий Cron, выполняемых системой
  5. Как составить список почасовых задач в Cron
  6. Как составить список ежедневных заданий Cron
  7. Как составить список еженедельных заданий Cron
  8. Как составить список ежемесячных заданий Cron
  9. Как просмотреть задания Cron для конкретных приложений
  10. Заключение
  11. Планировщик заданий Cron
  12. Как работает crond
  13. Составление расписания заданий
  14. Формат записей файла crontab
  15. Примеры времени—даты
  16. Поле command
  17. Редактирование файла crontab
  18. Запись из файла
  19. Непосредственное редактирование файла crontab
  20. Просмотр файла crontab
  21. Удаление файла crontab
  22. Как вывести список заданий Cron в Linux
  23. Вывод списка пользователей Cron Jobs
  24. Список заданий Cron системы
  25. Таймеры Systemd
  26. Выводы
  27. Как получить список всех задач cron у всех пользователей в Linux ?
  28. Как получить список заданий Cron в Linux
  29. Настройка Cron (Linux)
  30. Как добавить скрипт в cron
  31. Как получить список почасовых заданий Cron
  32. Как посмотреть список ежедневных заданий Cron
  33. Как посмотреть список еженедельных заданий Cron
  34. Как посмотреть список ежемесячных заданий Cron
  35. Просмотр программных заданий Cron
  36. От редакции

⏲️ Как просмотреть или составить список заданий Cron на Linux

Название Cron происходит от греческого слова Chronos, которое используется для обозначения времени.

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

Это руководство покажет вам несколько вариантов вывода списка всех запланированных заданий cron для пользователей в системах Linux.

Как вывести список заданий Cron текущего пользователя

Команда crontab по умолчанию работает для текущего вошедшего в систему пользователя.

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

Все пользовательские задания cron обычно находятся в каталоге /var/spool/cron/crontabs.

Для всех учетных записей пользователей создается отдельный файл с их именем.

Список заданий Cron другого пользователя

Пользователь с правами root или sudo может также просматривать запланированные cronjobs других пользователей.

Используйте -u с последующим именем пользователя, чтобы перечислить все задания, принадлежащие определенному пользователю.

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

Список заданий Cron, выполняемых системой

Пользователь root может получить доступ и изменить crontab операционной системы.

Вы можете просмотреть системные задания cron, выполнив следующую команду от имени учетной записи root или sudo.

Как составить список почасовых задач в Cron

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

Приведенный выше вывод показывает, что нет расписания заданий cron для ежечасного выполнения.

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

Когда в каталоге нет другого файла.

Как составить список ежедневных заданий Cron

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

В этом каталоге можно найти большинство таких задач.

Как составить список еженедельных заданий Cron

Еженедельные задания cron запланированы в каталоге /etc/cron.weekly.

Как составить список ежемесячных заданий Cron

Все ежемесячные задания cron запланированы в каталоге /etc/cron.monthly.

Как просмотреть задания Cron для конкретных приложений

Эти джобы можно найти в почасовых, ежедневных, еженедельных или ежемесячных заданиях cron.

Например, веб-сервер Apache создал файл задания cron в каталоге /etc/cron.daily.

Это означает, что работа выполняется ежедневно.

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

Заключение

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

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

Источник

Планировщик заданий Cron

В системе Linux автоматический запуск заданий выполняется демоном crond , а составлять расписания для автоматического запуска заданий могут не только администратор системы, но и пользователи.

Как работает crond

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

Составление расписания заданий

Составление расписания — задача несложная. Расписание размещается в отдельном файле crontab . В каждой строке файла помещается задание, которое должно быть запущено в определенное время.

Формат записей файла crontab

Часть time-date (время-дата) состоит из пяти числовых полей, разделенных пробелами и определяющих время запуска задания:

Минуты Часы День месяца Месяц День недели
Допустимые значения: 0-59 Допустимые значения: 0-23 Допустимые значения: 0-31 Допустимые значения: 0-12. Месяц можно указать тремя первыми буквами его (английского) названия Допустимые значения: 0-7, где 0 и 7 — воскресенье
Читайте также:  Editing videos on windows

Для удобства заполнения указанных полей введены следующие правила:

  • Можно указывать значения в виде численных интервалов. К примеру, интервал 1-3 в поле часов означает 1.00, 2.00 и 3.00 пополуночи, 2-4 в поле дня недели — вторник, среду или четверг.
  • Интервалы можно задавать с шагом больше единицы. Например, чтобы указать каждый второй час, начиная с полуночи, следует установить интервал 0-23 с шагом 2 через косую черту: 0-23/2
  • Звездочка ( * ) указывает полный интервал значений поля — от минимального до максимального. Например, в поле дня месяца звездочка означает интервал 0-31, в поле дня недели — 0-7
  • День недели или месяц можно указать первыми тремя буквами его (английского) названия

Примеры времени—даты

Несколько примеров заполнения полей времени—даты:

0 1 * * * Запуск задания ежедневно в 1.00 пополуночи 30 14 * * 0 Запуск задания по воскресеньям в 2.30 пополудни 0 23-7/2,8 * * * Запуск задания каждые 2 часа с 23.00 до 7.00 и в 8.00 0 12 * 1 mоn Запуск задания в полдень каждого понедельника января каждого года 0 12 2 feb * Запуск задания в полдень второго февраля каждого года

Поле command

Поле command (команда) отделено от полей времени—даты одним или несколькими пробелами и простирается до конца строки. Команды обрабатываются оболочкой /bin/sh .

Например, следующая запись в файле crontab предусматривает ежедневный запуск программы /usr/sbin/backup в 1.00 пополуночи:

Некоторым командам (например, mail ) требуется ввод информации с устройства стандартного ввода. Это указывается при помощи знака процента ( % ). Первый такой знак обозначает начало стандартного ввода, каждый последующий — смену строки.

Редактирование файла crontab

Файл crontab редактируется командой crontab -e . Возможны два подхода:

  • создание нового файла со всеми записями, которые должны входить в файл crontab , с последующей его записью на диск под этим именем по команде crontab ;
  • непосредственное редактирование файла по команде crontab -e .

Запись из файла

Для записи содержимого файла crontab из другого файла необходимо создать этот другой файл (в привычном текстовом редакторе) со всеми записями, из которых должен состоять файл crontab . Это могут быть, к примеру, следующая запись:

Созданному файлу следует присвоить подходящее имя, например сron jobs . После того, как указанный файл создан, его содержимое необходимо записать в файл crontab командой:

Содержимое файла cronjobs полностью заменит содержимое файла crontab данного пользователя. Используя этот метод, любой пользователь может редактировать свой файл crontab . Суперпользователь обладает особым правом редактировать файлы crontab остальных пользователей. Редактирование чужого файла указывается флажком -u . Например, по команде:

файл cronjobs записывается как файл crontab пользователя oleg .

Непосредственное редактирование файла crontab

Команда crontab позволяет избежать многоступенчатой операции с созданием отдельного файла. Если ввести команду crontab с опцией -е , можно редактировать файл crontab непосредственно.

По умолчанию по команде crontab с опцией -е файл crontab загружается в редактор Vi. Редактор Vi — мощный, хотя и сложный инструмент, популярный среди опытных пользователей Unix. Тот, кто предпочитает другой редактор, например Xedit, может установить соответствующее значение переменной среды EDITOR :

После этого ввод команды

приводит к открытию файла crontab в указанном редакторе.

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

Просмотр файла crontab

Для просмотра содержимого файла crontab вводится команда:

Суперпользователь может просматривать файлы crontab остальных пользователей:

Удаление файла crontab

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

Суперпользователь может удалять файлы crontab остальных пользователей:

Источник

Как вывести список заданий Cron в Linux

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

Задания Cron обычно используются для выполнения операций по обслуживанию системы. Например, задание cron можно настроить для автоматизации повторяющихся задач, таких как резервное копирование баз данных , обновление системы с помощью последних исправлений безопасности, очистка кеша, отправка электронных писем и т. Д.

В этой статье объясняется, как составить список заданий cron.

Вывод списка пользователей Cron Jobs

Файлы crontab пользователей именуются в зависимости от имени пользователя, а их расположение зависит от операционной системы. В дистрибутивах на основе Red Hat, таких как CentOS, файлы crontab хранятся в каталоге /var/spool/cron , а в Debian и Ubuntu файлы хранятся в каталоге /var/spool/cron/crontabs .

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

Чтобы получить список всех заданий cron для пользователя, под которым вы сейчас вошли в систему, используйте команду crontab :

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

Чтобы вывести список заданий cron других пользователей, используйте параметр -u чтобы указать имя пользователя в конце команды. Например, чтобы вывести список заданий cron пользователя с именем «mark», вы должны использовать:

Каждый пользовательский файл crontab имеет 600 разрешений и принадлежит пользователю. Только root и пользователи с привилегиями sudo могут просматривать задания cron других пользователей.

Чтобы узнать, какие пользователи создали задания cron, укажите содержимое каталога spool как пользователь root или sudo:

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

Список заданий Cron системы

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

Используйте cat , less или любой текстовый редактор для просмотра содержимого файлов:

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

Каждый сценарий в этих каталогах должен иметь разрешение на выполнение. В противном случае задание cron не будет выполнено.

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

Если вывод пуст, это означает, что еженедельных заданий cron нет.

Таймеры Systemd

Таймеры Systemd — это файлы модулей, которые заканчиваются суффиксом *.timer и позволяют запускать служебные модули в зависимости от времени.

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

Чтобы просмотреть список всех таймеров systemd на вашем компьютере, выполните следующую команду:

Выводы

Мы показали вам, как составлять список заданий cron и таймеров systemd.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Как получить список всех задач cron у всех пользователей в Linux ?

Вроде простая задача и вроде есть простое решение в виде:

Но решение неудобное и нужно всегда держать его в голове.
Давайте его усовершенствуем.

Исходные данные: Debian 8.9 (jessie)

Небольшой экскурс для тех кто не в курсе как вообще посмотреть список запланированных задач в планировщике cron в Linux:

Список задач у текущего пользователя:

Список задач у пользователя vasua:

Для вывод задач для всех пользователей очевидно нужно взять список пользователей в системе из /etc/passwd и сделать для каждого пользователя crontab -u USERNAME -l, то есть:

Недостаток этого решения очевиден:
1. Нужно всегда помнить эту команду.
2. Если у пользователя нет задач в планировщике то мы получим сообщение «no crontab for vasua» и таких сообщений может быть десятки если у вас много пользователей — это неудобно.
3. Вывод информации неудобно читать.

Но это не финишная прямая, а только начало, ведь опытный системный администратор знает, что кроме вывода списка заданий командой crontab -l -u USER есть еще задания планировщика в каталоге /etc/cron.d/ и это тоже нужно учитывать, потому что например панель хостинга ISPConfig сохраняет задания cron в каталоге /etc/cron.d/ с именами ispc_webXXX, где webXXX — это логин системного пользователя, например web30 и вывод crontab -l -u web30 нам скажет «no crontab for web30», а на самом деле в файле /etc/cron.d/ispc_web30 может быть такая картина:

Задачи в /etc/cron.d мы тоже учтем и покажем в решении ниже.

Итак, создадим функцию allcrontab в файле

/.bashrc для ввода информации в более удобном виде:

/.bashrc или перелогиниваемся и выполняем в консоле allcrontab и видим красивый вывод списка всех задач cron у всех пользователей и дополнительно вывод задач из /etc/cron.d:

Результат выполнения allcrontab

Так же опытный системный администратор знает, что существует anacron (anachronistic cron или асинхронный (анахроничный) cron) и его запуск и его задания тоже нужно учитывать, см. файл /etc/cron.d/anacron и /etc/anacrontab и каталоги /etc/cron.daily/, /etc/cron.hourly/, /etc/cron.monthly/ и /etc/cron.weekly/, но обсуждение anacron уже выходит за рамки этой статьи.

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

Источник

Как получить список заданий Cron в Linux

Visitors have accessed this post 5628 times.

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

Читайте также:  Nmap сканирование подсети windows

Настройка Cron (Linux)

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

Флаг -e показывает, что необходимо отредактировать расписание запуска для текущего пользователя. После запуска команды вам нужно будет прописать правила в открывшемся временном файле. Обратите внимание на то, что правила будут запускаться только под тем пользователем, под которым вы их добавляли (если вам нужен запуск cron от пользователя root, то и правила нужно устанавливать от него).

Как добавить скрипт в cron

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

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

Для обозначения даты и времени используются цифры или * (означает, что нужно выполнять скрипт каждую единицу времени, например, если * заменяется час, то скрипт должен запускаться каждый час, если * используется вместо числового обозначения дня — то каждый день). Путь до файла следует указывать обязательно полностью, начиная с корневого файла.

Пусть, к примеру, наш скрипт cron запускает каждую неделю в среду в 14 часов 45 минут.

45 14 * * 3 /usr/local/ping/todo

Отсчет дней недели начинается понедельника, воскресенье считается седьмым или нулевым днем.

Если вам не важен конкретный момент запуска скрипта, но нужно, чтобы он был выполнен, например, во внерабочее время, можно указать интервал, воспользовавшись знаком -.

Запустим наш скрипт в каждый день недели каждый час в период с 00 до 5 часов утра.

0 00-5 * * * /usr/local/ping/todo

Или просто укажем интервал, через который нужно запускать скрипт. К примеру, каждые 30 минут (интервал обозначается при помощи разделителя /).

Также при запуске cron можно использовать переменные, чтобы запустить скрипт.

  • @reboot — только 1 раз в момент загрузки;
  • @yearly, @annually — ежегодно;
  • @monthly — ежемесячно;
  • @weekly — еженедельно;
  • @daily, @midnight — ежедневно;
  • @hourly — каждый час.

В этом случае команда для запуска нашего скрипта 1 раз в месяц будет выглядеть как

Теперь рассмотрим, как просматривать/получить список заданий, запланированных в списке crontab (это системный файл Linux с табличной структурой, где можно просмотреть все задачи cron, так называемые cron job).

Большинство Cron (например, Vixie-Cron — по умолчанию в Debian/Ubuntu, Cronie — по умолчанию в Fedora, Solaris Cron…) предоставляют список запланированных заданий cron для текущего пользователя через команду:

или для другого пользователя через:

# crontab -u username -l

Кроме того, вы можете посмотреть файлы расписания. Обычно они сохраняются в /var/spool/cron, например, для vcron следующий каталог /var/spool/cron/crontabs содержит все настроенные crontabs всех пользователей, кроме пользователя root. Он также может настраивать задания через общесистемный crontab, который находится в:

Чтобы просмотреть задания cron, выполните следующую команду less:

Пример структуры crontab:

На компьютере это выглядит следующим образом:

В cronie (установлен по умолчанию в Fedora/CentOS, Ubuntu) существует каталог конфигурации в стиле cron.d для системных заданий cron:/etc/cron.d

Как всегда, каталог cron.d упрощает ведение записей конфигурации, которые являются частью разных пакетов.

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

Как получить список почасовых заданий Cron

Чтобы просмотреть почасовые задания cron (Linux), выполните команду:

Как посмотреть список ежедневных заданий Cron

Просмотреть список ежедневных заданий cron можно с помощью следующей команды:

Как посмотреть список еженедельных заданий Cron

Просмотреть список еженедельных заданий сron можно с помощью следующей команды:

Как посмотреть список ежемесячных заданий Cron

Эта команда выгружает список ежемесячных заданий cron

Просмотр программных заданий Cron

Посмотреть конкретное задание cron можно с помощью команды cat:

Кроме того, у вас могут быть задания at (/var/spool/at/*), anacron (/etc/anacrontab и /var/spool/anacron/*)

Правильное и своевременное выполнение этих скриптов осуществляется через записи частей выполнения в системном файле crontab или через anacron.

С помощью systemd (в Fedora, CentOS 7 и т. д.) периодическое выполнение заданий может быть дополнительно сконфигурировано через юниты таймера. Включенные системные таймеры могут отображаться через:

$ systemctl list-timers
Мы рассмотрели все каталоги по умолчанию, где можно найти задания cron в большинстве систем Linux.

От редакции

Если вам интересно посещать открытые онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN. *Анонсы мероприятий каждую неделю

Источник

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