Отредактировано 1 Неделю назад от ExtremeHow Редакционная команда
КронУбунтуАвтоматизацияЛинуксПланированиеОперационные системыСистемаАдминистрированиеКомандная строкаОбслуживание
Перевод обновлен 2 Несколько недель назад
Настройка задач cron в Ubuntu — это важный навык для системного администратора или любого, кто занимается автоматизацией повторяющихся задач. В этом руководстве мы рассмотрим cron и crontab, которые являются инструментами для эффективной автоматизации и планирования задач в Unix-подобных операционных системах.
Демон cron — это фоновая служба, которая работает в Unix-подобных операционных системах и выполняет запланированные команды или сценарии. Команды или сценарии указываются в специальном файле, называемом crontab. У каждого пользователя есть свой crontab, который позволяет им планировать задачи без влияния на общую конфигурацию системы.
Распространенный случай использования задачи cron может заключаться в выполнении сценария резервного копирования каждый день в полночь, очистке временных файлов раз в неделю или периодической отправке отчетов по электронной почте.
Задачи cron определяются специальным синтаксисом в файле crontab. Основной формат задачи cron включает шесть полей:
Пример записи задачи cron, выполняющей сценарий, расположенный по адресу /home/user/backup.sh
каждый день в 3 утра, будет выглядеть следующим образом:
0 3 * * * /home/user/backup.sh
Чтобы создать или редактировать задачи cron, необходимо получить доступ к файлу crontab. Используйте следующую команду для открытия crontab в текстовом редакторе по умолчанию:
crontab -e
Когда вы выполните эту команду, она откроет файл crontab, специфичный для текущего пользователя, в текстовом редакторе, установленном по умолчанию, например, nano или vi.
В crontab можно использовать специальные символы и ключевые слова для упрощения планирования. Вот некоторые из наиболее распространенных символов:
*
: Представляет любое значение. Например, использование *
в поле "Час" будет означать "каждый час".,
: Позволяет указать список значений. Например, 1,2,5
в поле "День недели" означает понедельник, вторник и пятницу.-
: Устанавливает диапазон значений. 1-5
в поле "День недели" будет означать с понедельника по пятницу./
: Указывает шаг. */2
в поле "Час" означает каждые два часа.@reboot
, @yearly
, @monthly
, @weekly
, @daily
, @hourly
могут указывать расписание более естественным образом, например, @daily для выполнения задачи раз в день.Например, запись задачи cron для выполнения сценария каждые два часа может выглядеть так:
0 */2 * * * /home/user/script.sh
Поняв основной синтаксис и специальные символы, вы можете написать свою задачу cron. Допустим, у вас есть сценарий по адресу /home/user/cleanup.sh
, который вы хотите запускать каждый день в 16:30. Вы можете добавить следующую строку в ваш crontab:
30 16 * * * /home/user/cleanup.sh
Сохраните файл и выйдите из редактора. Новая задача cron теперь настроена.
Чтобы просмотреть список задач cron для текущего пользователя, используйте следующую команду:
crontab -l
Эта команда отображает все запланированные задачи cron для текущего пользователя.
Чтобы удалить задачу cron, просто откройте crontab с помощью crontab -e
, удалите строку, которая вам больше не нужна, сохраните и закройте файл.
Задачи cron могут быть мощным инструментом при эффективном использовании. Вот некоторые распространенные примеры использования:
Вот несколько примеров, которые помогут закрепить ваше понимание:
0 9 * * 1-5 /path/to/your/script.sh
0 0 1 * * /path/to/your/command
0 7 * * * /usr/bin/sendmail user@example.com < /home/user/email.txt
Чтобы отладить или проверить, успешно ли выполнена задача cron, вы можете просмотреть журнальные файлы, в которых демон cron регистрирует свою деятельность. Обычно эти журналы находятся в каталоге /var/log/
и в некоторых системах файлы называются syslog
или cron.log
.
Чтобы просмотреть журналы cron, используйте следующую команду:
cat /var/log/syslog | grep cron
Настройте конфигурацию ведения журналов по мере необходимости в файле /etc/rsyslog.d/50-default.conf
для включения или исключения журналов cron.
Вот несколько советов и лучших практик для управления задачами cron:
Это подробное руководство предоставляет понимание того, как работают задачи cron и как их эффективно настраивать в Ubuntu. Следуя рекомендациям и практикуясь с примерами, вы сможете автоматизировать задачи, экономить время и повысить производительность системы эффективно.
Если вы найдете что-то неправильное в содержании статьи, вы можете