Linux просмотр заданий cron

Обновлено: 21.11.2024

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

  • Отдельный crontab каждого пользователя
  • Системный crontab
  • Каталог системного cron

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

Понимание ваших заданий cron

Быстрый поиск заданий cron

Хитрость для быстрого поиска заданий cron заключается в том, чтобы обойти знакомый пользовательский интерфейс команды crontab и вместо этого в этом упражнении заглянуть внутрь, где сам cron хранит эти данные. Прежде чем вы начнете, вам потребуются повышенные привилегии root или sudo, чтобы перечислить задания, отличные от ваших собственных. После этого начните тур из трех остановок.

Проверка системного crontab

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

При планировании заданий в этом и других файлах crontab системного уровня пользователь запуска от имени указывается после расписания. Это задание запускается от имени пользователя dataproc .

Проверка системного каталога

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

Легко отображать содержимое всех файлов:

Просмотр crontab каждого пользователя

Как правило, всегда следует использовать crontab -e и никогда не изменять файлы crontab напрямую. Это гарантирует, что ваши изменения действительны и будут приняты демоном cron. Но когда задание заключается только в просмотре crontabs, просмотр самих файлов — это самый простой способ найти каждое задание для каждого пользователя.

Более простой способ управления заданиями cron

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

Скачать CronitorCLI

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

Вывод списка всех заданий cron для всех пользователей одной командой

После распаковки используйте команду list для просмотра всех заданий cron.

Здесь 8 заданий cron в двух crontab. Если бы в 40 табах crontab было 400 заданий cron, все они были бы перечислены.

Бонус: легко запускать любую команду так, как это делает cron

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

Связанные руководства

Где хранятся журналы cron на вашем сервере

5 мест, где хранятся задания cron

Руководство по устранению неполадок с заданием Cron

Какой рабочий каталог задания cron

Настройка cron с переменными среды

Наше программное обеспечение CronitorCLI включает бесплатные инструменты, о которых мы всегда мечтали. Сканируйте свою систему и перечисляйте каждое задание cron за считанные секунды, используя список cronitor. Мгновенно запускайте любое задание cron с помощью cronitor select .
Начните бесплатно

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

Список заданий Cron в Linux

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

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

Задания Cron обычно располагаются в каталогах очереди. Они хранятся в таблицах, называемых crontabs. Вы можете найти их в /var/spool/cron/crontabs. Таблицы содержат задания cron для всех пользователей, кроме пользователя root.

Пользователь root может использовать crontab для всей системы.

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

Система возвращает следующий вывод:

Файл /etc/crontab можно редактировать с помощью текстового редактора, например nano:

В системах на основе RedHat этот файл находится в /etc/cron.d.

В каталоге /etc/ есть дополнительные подкаталоги cron для организации ежечасных, ежедневных, еженедельных и ежемесячных задач. Команда ls (список) отображает файлы и каталоги.Используйте параметр -la, чтобы просмотреть все записи в длинном формате.

Просмотр заданий Cron по пользователям

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

Замените [имя пользователя] реальным именем пользователя, которое вы просматриваете.

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

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

Вывод должен выглядеть примерно так:

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

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

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

Как отображать еженедельные задания Cron

Чтобы отобразить еженедельные задания cron:

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

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

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

Результаты отображаются следующим образом:

Просмотр заданий Cron для конкретного программного обеспечения

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

Используйте команду cat для отображения содержимого update-notifier-common :

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

Примечание. Вам также следует больше узнать о Linux at command — еще одном полезном инструменте для планирования заданий.

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

София Симич – начинающий технический писатель в phoenixNAP. Наряду с ее образованием в области преподавания и письма, у нее была пожизненная страсть к информационным технологиям. Она стремится разобраться в запутанных концепциях ИТ и упростить установку сложного программного обеспечения.

Задания Cron позволяют планировать и автоматизировать повторяющиеся задачи в вашей системе Linux. Они особенно полезны.

Команда chown меняет владельца файла, каталога или ссылки в Linux. Каждый файл связан.

Операционная система Linux уникальна благодаря своим многопользовательским характеристикам. Это позволяет нескольким пользователям работать в одной системе одновременно.

В этом руководстве подробно описаны наиболее полезные команды grep для систем Linux/Unix. После прохождения всех.

Существует множество задач, которые сервер может выполнять автоматически, например выполнение сценариев и команд. На сервере Linux утилита cron используется для планирования сценариев и команд.

СПИСОК заданий Cron обычно находится в каталогах очереди. Они хранятся в таблицах, называемых crontabs. Вы можете найти их в /var/spool/cron/crontabs. Таблицы содержат задания cron для всех пользователей, кроме пользователя root.

Пользователь root может использовать crontab для всей системы.

В данной статье мы обсудим несколько вариантов просмотра текущих заданий cron, запланированных в списке crontab.

Ниже приведены необходимые условия для просмотра всех заданий в Cron/Crontab

  • Учетная запись root или учетная запись пользователя с правами sudo
  • Доступ к окну терминала (Ctrl+Alt+T) или командной строке (Ctrl+Alt+F2)

Как составить список вакансий в Crontab?

Чтобы просмотреть задания Cron Root

Просмотр заданий Cron пользователя

Просмотр ежедневных заданий Cron

Просмотреть все ежедневные задания cron:

Просмотр определенного ежедневного задания cron:

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

Сначала просмотрите все почасовые задания cron:

Затем просмотрите конкретное почасовое задание cron:

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

Показать все задания в Cron

Затем просмотрите конкретное еженедельное задание cron:

Просмотр ежемесячных заданий Cron

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

Затем просмотрите конкретное ежемесячное задание cron:

Просмотреть /etc/crontab

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

Используйте команду cat для отображения содержимого update-notifier-common:

Теперь вы, должно быть, поняли, как перемещаться по заданиям cron на вашем сервере. Есть другие мысли или вопросы? Свяжитесь с нами, наша экспертная поддержка доступна круглосуточно и без выходных по телефону или по почте.

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

Есть ли команда или существующий сценарий, который позволит мне просматривать все запланированные задания cron системы *NIX одновременно?Я бы хотел, чтобы он включал все пользовательские crontab, а также /etc/crontab и все, что находится в /etc/cron.d. Также было бы неплохо увидеть конкретные команды, запускаемые частями запуска в /etc/crontab .

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

Затем я мог бы объединить эти списки с нескольких серверов, чтобы просмотреть общее "расписание событий".

Я сам собирался написать такой скрипт, но если кто-то уже потрудился.

26 ответов 26

Вы должны запустить это как root, но:

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

Изменить, если вы хотите узнать, какому пользователю принадлежит crontab, используйте echo $user

Не работает, если пользователи определены в NIS или LDAP. Вам нужно использовать для пользователя в $(getent passwd | cut -f1 -d:); сделать эхо $user; crontab -u $пользователь -l; готово

Мы используем LDAP, и /etc/passwd нужно заменить командой getent: for user in $(getent passwd | awk -F : ''); сделать эхо $user; crontab -u $пользователь -l; готово

Как насчет cronjobs в /etc/cron.hourly/ , /etc/cron.daily/ , /etc/cron.weekly/ , /etc/cron.monthly/ .

В конце концов я написал сценарий (я пытаюсь научиться тонкостям написания сценариев bash, поэтому вы не видите здесь ничего похожего на Perl). Это не совсем простое дело, но оно делает большую часть того, что мне нужно. Он использует предложение Кайла для поиска crontab отдельных пользователей, но также имеет дело с /etc/crontab (включая сценарии, запускаемые run-parts в /etc/cron.hourly , /etc/cron.daily и т. д.) и заданиями. в каталоге /etc/cron.d. Он берет все это и объединяет в отображение, подобное следующему:

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

Читайте также: