Поиск по сайту:

Мой любимый инструмент с открытым исходным кодом для использования crontab


Crontab-ui — это веб-интерфейс, написанный на Node.js, который помогает управлять файлом crontab.

Автоматизация сейчас является горячей темой. В моей повседневной работе в качестве инженера по надежности объектов (SRE) частью моей компетенции является автоматизация как можно большего количества повторяющихся задач. Но многие ли из них делают это в повседневной жизни, не связанной с работой? В этом году я сосредоточусь на том, чтобы автоматизировать рутинную работу, чтобы мы могли сосредоточиться на важных вещах.

Одной из первых вещей, о которых я узнал, будучи начинающим системным администратором, был cron. Cron широко используется для выполнения таких задач, как ротация журналов, запуск и остановка служб, запуск служебных заданий и многое другое. Он доступен практически во всех системах Unix и Linux, и его использует каждый знакомый мне системный администратор для управления службами и серверами. Cron может автоматически запускать любое консольное приложение или скрипт, что делает его очень и очень гибким.

(Кевин Сонни, CC BY-SA 4.0)

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

Использование cron традиционным способом

Чтобы начать работу с cron, вы можете просто ввести crontab -e в командной строке, чтобы открыть редактор с текущим файлом crontab (или «таблицей cron») для себя. (если вы сделаете это от имени пользователя root, вы получите системный crontab). Здесь хранится расписание заданий, а также время запуска. Дэвид Бот много писал о формате файла и о том, как его использовать, поэтому я не буду рассказывать об этом здесь. Я хочу сказать, что для новых пользователей это может быть немного пугающе, а настройка времени — это немного хлопотно.

Представляем crontab-ui

Есть несколько фантастических инструментов, которые помогут в этом. Мой любимый — crontab-ui, веб-интерфейс, написанный на Node.js, который помогает управлять файлом crontab. Чтобы установить и запустить crontab-ui для личного использования, я использовал следующие команды.

# Make a backup
crontab -l > $HOME/crontab-backup
# Install Crontab UI
npm install -g crontab-ui
# Make a local database directory
mkdir $HOME/crontab-ui
# Start crontab-ui
CRON_DB_PATH=$HOME/crontab-ui crontab-ui

Как только это будет сделано, просто укажите в своем веб-браузере адрес http://localhost:8000, и вы получите веб-интерфейс crontab-ui. Первое, что нужно сделать, это нажать «Получить из Crontab», чтобы загрузить все имеющиеся у вас задания. Затем нажмите Резервное копирование, чтобы можно было отменить любые внесенные вами изменения.

(Кевин Сонни, CC BY-SA 4.0)

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

Закончив, нажмите Сохранить в Crontab.

Лично мне очень нравится функция ведения журнала. С помощью crontab-ui вы можете просматривать журналы одним нажатием кнопки, что полезно при устранении неполадок.

Я рекомендую не запускать crontab-ui постоянно, по крайней мере публично. Хотя у него есть некоторые базовые возможности аутентификации, на самом деле он не должен быть доступен за пределами вашего локального компьютера. Мне больше не нужно (больше) часто редактировать задания cron, поэтому я запускаю и останавливаю их по требованию.

Попробуйте crontab-ui в следующий раз, когда вам понадобится отредактировать crontab!

Статьи по данной тематике: