Введение
В этом практическом занятии (лабораторной работе) вы научитесь проверять запланированные задачи cron на системе Linux. Вы начнете с просмотра пользовательских задач cron с помощью команды crontab -l.
Затем вы изучите системные настройки cron, проверив файл /etc/crontab и изучив расписания, определенные в каталогах /etc/cron.*. Этот практический опыт предоставит вам необходимые навыки для определения и понимания того, как задачи запланированы для автоматического выполнения на системе Linux.
Просмотр пользовательских задач cron с помощью команды crontab -l
На этом этапе вы научитесь просматривать запланированные задачи для текущего пользователя с помощью команды crontab.
Cron - это планировщик задач на основе времени в операционных системах типа Unix. Он позволяет пользователям запланировать выполнение команд или скриптов автоматически в определенное время или дату. Эти запланированные задачи часто называются "задачами cron" (cron jobs).
Каждый пользователь системы может иметь свою собственную коллекцию задач cron. Они хранятся в специальном файле, называемом "crontab" (таблица cron).
Чтобы просмотреть задачи cron для текущего пользователя (labex), вы будете использовать команду crontab с опцией -l. Опция -l означает "список" (list).
Если вы еще не открыли терминал, откройте его. Помните, что вы можете найти значок Xfce Terminal слева на рабочем столе.
Введите следующую команду в терминале и нажмите Enter:
crontab -l
Если вы еще не настроили никаких задач cron для пользователя labex, вы, скорее всего, увидите сообщение, указывающее, что нет записей в crontab. Это ожидаемое поведение для новой пользовательской среды.
no crontab for labex
Этот вывод подтверждает, что у пользователя labex в настоящее время нет запланированных личных задач cron.
Если бы у пользователя labex были какие - либо запланированные задачи, они были бы перечислены здесь, показывая расписание и команду, которая должна быть выполнена.
Понимание того, как просматривать существующие задачи cron, является первым шагом в управлении запланированными задачами на системе Linux. В следующих шагах вы изучите системные настройки cron.
Нажмите Продолжить (Continue), чтобы перейти к следующему шагу.
Проверка системного crontab в файле /etc/crontab
На предыдущем этапе вы узнали, как просматривать задачи cron для конкретного пользователя. Теперь давайте рассмотрим системные задачи cron, которые обычно настраиваются в файле /etc/crontab.
В отличие от пользовательских crontab, управляемых командой crontab, файл /etc/crontab представляет собой системный файл конфигурации, который может быть отредактирован непосредственно системным администратором (или пользователем с привилегиями sudo). Этот файл часто содержит задачи cron, необходимые для работы системы.
Чтобы просмотреть содержимое файла /etc/crontab, вы можете использовать текстовый просмотрщик командной строки, такой как cat или less. Поскольку /etc/crontab - это системный файл, вам, возможно, понадобится sudo для его чтения, хотя в среде LabEx обычно можно читать его без sudo. Давайте используем cat для вывода содержимого непосредственно в терминал.
Введите следующую команду и нажмите Enter:
cat /etc/crontab
Вы увидите содержимое системного файла crontab. Он может выглядеть примерно так:
## /etc/crontab: system-wide crontab
## Unlike any other crontab you might learn about, this file has a fifth field
## which is the user that the command will run as.
#
## min hour day month wday user command
## ---- ---- --- ----- ---- ---- -------
#
## Example of job execution:
## .---------------- minute (0 - 59)
## | .------------- hour (0 - 23)
## | | .---------- day of month (1 - 31)
## | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
## | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
## | | | | | .- user to run job as
## | | | | | | . command to be executed
## | | | | | | |
## * * * * * user command
#
... (other entries)
Обратите внимание на структуру этого файла. Он содержит комментарии, объясняющие формат, и каждая строка, представляющая задачу cron, имеет дополнительное поле по сравнению с пользовательскими crontab: поле user. Это поле указывает, от имени какого пользователя должна быть выполнена команда.
Системные crontab часто используются для таких задач, как обновление системы, ротация журналов и другие задачи обслуживания, которые должны выполняться с повышенными привилегиями или от имени определенного системного пользователя.
Изучение файла /etc/crontab позволяет вам понять, какие автоматические задачи запланированы на системном уровне.
Нажмите Продолжить (Continue), чтобы перейти к следующему этапу, где вы рассмотрите другие места хранения системных задач cron.
Проверка расписаний cron в /etc/cron.*
В дополнение к основному файлу /etc/crontab, многие дистрибутивы Linux используют директории, такие как /etc/cron.d/, /etc/cron.hourly/, /etc/cron.daily/, /etc/cron.weekly/ и /etc/cron.monthly/, для организации системных задач cron.
Эти директории предоставляют более структурированный способ управления запланированными задачами. Скрипты, помещенные в /etc/cron.hourly/, выполняются каждый час, в /etc/cron.daily/ - каждый день и так далее. Точное время выполнения обычно контролируется скриптом в /etc/crontab, который периодически запускает эти директории.
Давайте проверим содержимое этих директорий, чтобы увидеть, какие системные задачи запланированы.
Сначала выведем список файлов в директории /etc/cron.d/. Эта директория часто содержит файлы, установленные пакетами, которые определяют конкретные задачи cron.
Введите следующую команду и нажмите Enter:
ls /etc/cron.d/
Вы, возможно, увидите вывод, похожий на этот, в котором перечислены файлы в директории:
anacron e2scrub_all phpsessionclean
Эти файлы содержат определения задач cron, аналогичные по формату /etc/crontab (включая поле пользователя). Вы можете просмотреть содержимое любого из этих файлов с помощью команды cat. Например, чтобы просмотреть файл anacron:
cat /etc/cron.d/anacron
Далее, давайте посмотрим на директории для часовых, ежедневных, еженедельных и ежемесячных задач. Мы можем вывести список файлов в этих директориях с помощью команды ls.
Поочередно введите следующие команды и нажимайте Enter после каждой:
ls /etc/cron.hourly/
ls /etc/cron.daily/
ls /etc/cron.weekly/
ls /etc/cron.monthly/
В этих директориях вы, возможно, увидите различные скрипты или файлы. Например, /etc/cron.daily/ часто содержит скрипты для таких задач, как обновление списка пакетов, очистка временных файлов или ротация журналов.
ls /etc/cron.daily/
apt-compat dpkg google-chrome man-db mlocate passwd update-notifier-common
Эти скрипты автоматически выполняются системой cron с указанными интервалами (каждый час, каждый день, каждую неделю, каждый месяц).
Изучив файлы в /etc/crontab и директории /etc/cron.*, вы можете получить полное представление о автоматических задачах, выполняемых на системе. Это важно для системного администрирования и устранения неполадок.
Теперь вы исследовали основные места для просмотра как пользовательских, так и системных задач cron.
Нажмите Продолжить (Continue), чтобы завершить этот практический урок.
Резюме
В этом практическом уроке вы узнали, как проверять запланированные задачи cron в Linux. Вы начали с просмотра пользовательских задач cron с помощью команды crontab -l, понимая, что каждый пользователь может иметь свой собственный набор запланированных задач, хранящихся в его файле crontab. Вы узнали, как интерпретировать вывод, включая сообщение о том, что у текущего пользователя нет существующих задач cron.
Затем вы начали изучать системные настройки cron, сконцентрировавшись в частности на файле /etc/crontab. Этот файл используется для системных задач cron и управляется непосредственно системным администратором, в отличие от пользовательских crontab. Понимание как пользовательских, так и системных мест хранения задач cron является важным для комплексной проверки запланированных задач на системе Linux.



