Как проверить, настроено ли расписание резервного копирования в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять наличие запланированных задач резервного копирования на системе Linux, исследуя различные места, где настраиваются задачи cron. Вы начнете с перечисления задач cron текущего пользователя с помощью команды crontab -l, чтобы узнать, установлены ли какие-либо личные расписания.

Затем вы изучите системные задачи cron, проверив каталог /etc/cron.d, который часто содержит запланированные задачи, установленные пакетами программного обеспечения. Наконец, вы проверите содержимое каталога /etc/cron.daily, чтобы узнать, настроены ли какие-либо ежедневные скрипты, включая возможные процедуры резервного копирования, для автоматического выполнения.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/crontab("Job Scheduling") subgraph Lab Skills linux/ls -.-> lab-558699{{"Как проверить, настроено ли расписание резервного копирования в Linux"}} linux/cat -.-> lab-558699{{"Как проверить, настроено ли расписание резервного копирования в Linux"}} linux/crontab -.-> lab-558699{{"Как проверить, настроено ли расписание резервного копирования в Linux"}} end

Перечисление задач cron пользователя с помощью команды crontab -l

На этом этапе вы научитесь просматривать запланированные задачи для текущего пользователя с использованием команды crontab.

cron - это планировщик задач, основанный на времени, в операционных системах типа Unix. Он позволяет запланировать выполнение команд или скриптов автоматически с заданным интервалом. Эти запланированные задачи часто называются "задачами cron" (cron jobs).

Каждый пользователь системы может иметь свой собственный набор задач cron. Они хранятся в специальном файле, называемом "crontab" (таблица cron).

Чтобы просмотреть задачи cron для текущего пользователя (labex), используйте команду crontab с опцией -l. Опция -l означает "список" (list).

Если вы еще не открыли терминал, откройте его. Введите следующую команду и нажмите Enter:

crontab -l

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

no crontab for labex

Это сообщение просто означает, что для пользователя labex не настроены запланированные задачи.

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

Понимание задач cron пользователя - это первый шаг в управлении запланированными задачами на системе Linux. В следующих шагах мы рассмотрим системные задачи cron.

Нажмите Продолжить, чтобы продолжить.

Проверка системных задач cron в /etc/cron.d

На предыдущем этапе вы узнали, как просматривать задачи cron для конкретного пользователя. Теперь давайте рассмотрим системные задачи cron.

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

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

Чтобы просмотреть файлы в каталоге /etc/cron.d/, вы можете использовать команду ls. Поскольку этот каталог принадлежит пользователю root, вам нужно будет использовать sudo для перечисления его содержимого.

Введите следующую команду в терминале и нажмите Enter:

sudo ls /etc/cron.d/

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

anacron  e2scrub_all  phpsessionclean

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

Чтобы просмотреть содержимое одного из этих файлов, например, phpsessionclean, вы можете использовать команду cat. Опять же, вам понадобится sudo, так как файл принадлежит пользователю root.

Введите следующую команду и нажмите Enter:

sudo cat /etc/cron.d/phpsessionclean

Вы увидите содержимое файла, которое определяет, когда и как выполняется скрипт phpsessionclean. Формат аналогичен таблице cron пользователя, но также включает поле для указания пользователя, который должен выполнять команду (часто root).

## This file is installed by the php-common package
#
## The script will clean up old session files.
#
## See /usr/lib/php/sessionclean for details.

09,39 *	* * *	root	[ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

Этот вывод показывает, что скрипт phpsessionclean запланирован на выполнение в 09 и 39 минут каждого часа, каждый день, и он будет выполняться пользователем root.

Изучение файлов в /etc/cron.d/ помогает понять, какие автоматические задачи выполняются на системном уровне.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка ежедневных задач cron в /etc/cron.daily

В дополнение к отдельным файлам в /etc/cron.d/, системы Linux часто используют каталоги, такие как /etc/cron.daily/, /etc/cron.weekly/ и /etc/cron.monthly/, чтобы запланировать выполнение скриптов с определенными интервалами.

Любой исполняемый скрипт, помещенный в /etc/cron.daily/, будет выполняться один раз в день. Аналогично, скрипты в /etc/cron.weekly/ запускаются один раз в неделю, а те, что находятся в /etc/cron.monthly/, - один раз в месяц.

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

Давайте рассмотрим содержимое каталога /etc/cron.daily/. Этот каталог содержит скрипты, которые запланированы на выполнение каждый день.

Используйте команду ls с sudo для перечисления файлов в этом каталоге:

sudo ls /etc/cron.daily/

Вероятно, вы увидите список скриптов, например:

apt - compat  dpkg  logrotate  man - db  passwd  update - notifier - common

Это скрипты, которые выполняют ежедневные задачи по обслуживанию системы, такие как обновление списка пакетов (apt - compat), ротация журналов (logrotate) и обновление базы данных справочных страниц (man - db).

Чтобы понять, что делает один из этих скриптов, вы можете просмотреть его содержимое с помощью sudo cat. Например, давайте посмотрим на скрипт logrotate:

sudo cat /etc/cron.daily/logrotate

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

#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
exit 0

Этот скрипт просто проверяет, существует ли команда logrotate и является ли она исполняемой, и если это так, он запускает logrotate с использованием файла конфигурации /etc/logrotate.conf.

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

Теперь вы изучили задачи cron пользователя, системные задачи cron в /etc/cron.d/ и ежедневные скрипты cron в /etc/cron.daily/. Эти знания являются фундаментальными для управления запланированными задачами на системе Linux.

Нажмите Продолжить, чтобы завершить лабораторную работу.

Резюме

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

Затем вы исследовали системные задачи cron, проверив каталог /etc/cron.d/, который содержит файлы, определяющие задачи, запланированные для всей системы, часто устанавливаемые пакетами программного обеспечения. Наконец, вы проверили ежедневные задачи cron, расположенные в каталоге /etc/cron.daily, который обычно содержит скрипты, предназначенные для выполнения один раз в день. Проверяя эти места, вы можете определить, настроены ли расписания резервного копирования на системе Linux.