Просмотреть журнал crontab Debian

Обновлено: 24.11.2024

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

Как проверить журналы Crontab в Linux

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

1. Использование системного журнала

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

syslog регистрирует все команды в вашей системе, включая задания cron. В нем будут перечислены все задания cron, запущенные в вашей системе.

2. Использование файла cron.log

Рекомендуемый способ мониторинга заданий cron – создать отдельный файл cron.log, в который будут записываться все задания cron. Для этого откройте файл /etc/rsyslog.d/50-default.conf в текстовом редакторе.

Найдите следующую строку.

Далее создайте новый файл cron.log в папке /var/log

Сохраните и закройте пустой файл. Он будет автоматически записан службой rsyslog. Перезапустите службу rsyslog с помощью следующей команды.

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

3. Автоматизируйте мониторинг журнала Cron

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

Создать пустой сценарий оболочки

Добавьте в него следующие строки.

В приведенном выше коде -n 30 указывает команде watch запускать команду tail каждые 30 секунд. -n 50 указывает команде tail получить последние 50 строк из файла /var/log/cron.log.

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

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

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

Я хочу проверить, выполняется ли мое задание cron и в какое время. Я считаю, что есть журнал для моих заданий sudo crontab -e, но где?

Я поискал в гугле и нашел рекомендации заглянуть в /var/log (в котором я не вижу ничего со словом "cron" в названии) и отредактировать файл /etc/syslog.conf, которого у меня тоже нет.

Остерегайтесь того, что в контексте crontab символ % создает новую строку, поэтому его неправильное использование (т. е. его не экранирование, например, в дате +"%Y-%m-%d") может помешать правильному протоколированию ( date + %Y-%m-%d >> /tmp/cron.log не будет работать). Кроме того, этот ответ может помочь.

15 ответов 15

При установке по умолчанию задания cron регистрируются в журнале

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

Если вы ничего не перенастроили, записи останутся там.

это не дает мне результатов работы. он просто дает общее сообщение о том, что cron был обработан.

Вы можете создать файл cron.log, содержащий только те записи CRON, которые отображаются в системном журнале. Обратите внимание, что задания CRON по-прежнему будут отображаться в системном журнале, если вы выполните следующие действия.

Найдите строку, начинающуюся с:

раскомментируйте эту строку, сохраните файл и перезапустите rsyslog:

Активность Cron теперь будет записываться в этот файл (в дополнение к системному журналу).

Обратите внимание, что в cron.log вы увидите записи о том, когда cron запускал скрипты в /etc/cron.hourly, cron.daily и т. д. — например, что-то вроде:

Однако вы не увидите больше информации о том, какие скрипты на самом деле выполнялись внутри /etc/cron.daily или /etc/cron.hourly, если только эти скрипты не направляют вывод в cron.log (или, возможно, в какой-либо другой файл журнала). ).

Если вы хотите проверить, запущен ли crontab, и не искать его в cron.log или syslog, создайте crontab, который перенаправляет вывод в файл журнала по вашему выбору, например:

Это перенаправит весь стандартный вывод и ошибки, которые могут быть вызваны запущенным сценарием, в указанный файл журнала.

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. После прохождения всех.

Pixabay на Pexels

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

" class="wp_ulike_btn wp_ulike_put_image wp_post_btn_232">

Где журнал cron?

В отличие от большинства других программ, cron не имеет собственных файлов журналов. Это может быть связано с тем, что cron настолько интегрирован с операционной системой: почти во всех дистрибутивах Linux, таких как Debian, Ubuntu или Linux Mint, cron уже установлен.

Поскольку cron считается частью вашей операционной системы, вы можете проверить статус заданий cron в файле системного журнала syslog, расположенном в каталоге /var/log/: /var/log/syslog . Это относится к любым дистрибутивам Debian, таким как Ubuntu или Raspbian на Raspberry Pi.

Поиск запущенного задания cron

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

Чтобы узнать, выполнялось ли задание cron, например, certbot, используйте grep с параметром -i:

-i делает искомый шаблон нечувствительным к регистру.

Кроме того, вы также можете использовать ag , что означает «Серебряный искатель». Как ack, но быстрее».:

Обратите внимание, что вам не нужно указывать параметр -i, поскольку по умолчанию ag не учитывает регистр. Таким образом, «Certbot» и «certbot» рассматриваются одинаково.

В отличие от команды grep, которая не позволяет выполнять поиск в каталоге, для этого можно использовать ag.Таким образом, вы можете искать любой статус задания cron, запустив ag JOB_NAME /var/log/ . Таким образом, вы можете искать что угодно, не зная конкретного файла, а только каталог.

Что показывает, что задание cron запущено?

Если задание запущено, выходные данные будут выглядеть следующим образом, а имя задания будет выделено жирным шрифтом:

Как видно из трех средних строк, у нас есть:

  • Запуск Certbot…
  • certbot.service: успешно.
  • Запустил Certbot.

Это указывает на то, что задание cron Certbot успешно выполнено. Поздравляем!

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

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