DUICUO

crontabを管理するためのオープンソースツール

crontab-ui は、crontab ファイルの管理に役立つ、Node.js で記述された Web フロントエンドです。

自動化は今、ホットな話題です。サイト信頼性エンジニア(SRE)として日々の仕事で、反復的なタスクを可能な限り自動化することが私の責務の一つです。しかし、仕事以外の日常生活で実際にこれを実践している人はどれくらいいるでしょうか?今年は、重要なことに集中できるよう、雑用を自動化することに焦点を当てています。

システム管理者として駆け出しだった頃、最初に学んだことの一つが「cron」でした。cronは、ログのローテーション、サービスの起動と停止、プログラムジョブの実行など、様々なタスクに広く利用されています。ほぼすべてのUnixおよびLinuxシステムで利用可能で、私が知るシステム管理者は皆、サービスやサーバーの管理にcronを使っていました。cronはあらゆるコンソールアプリケーションやスクリプトを自動化できるため、非常に柔軟性に優れています。

LCTT 翻訳者注: CRON は「Command Run On」の略語で、特定の時間にコマンドを実行することを意味します。

Crontabの画像

私は cron を使用して、電子メールを取得したり、フィルターを実行したり、サービスが実行中であることを確認したり、Habitica などのオンライン ゲームを操作したりします。

cronを従来の方法で使用する

cronを使い始めるには、コマンドラインで「crontab -e」と入力するだけでエディタが起動し、現在のcrontab(「cronテーブル」の略)ファイルを開きます(root権限で実行すると、システムのcrontabファイルにアクセスすることになります)。このファイルにはジョブのスケジュールが保存され、実行日時が記録されます。David Both氏がこのファイルのフォーマットと使い方について詳しく解説しているので、ここでは詳しく説明しません。ただ、初心者にとっては少し敷居が高く、スケジュールの設定も面倒な作業になる可能性がある、ということをお伝えしておきます。

crontab-uiの紹介

この問題を解決するのに役立つ優れたツールがいくつかあります。私のお気に入りはcrontab-uiです。これはNode.jsで書かれたWebフロントエンドで、crontabファイルの管理に役立ちます。個人使用のためにcrontab-uiをインストールして起動するには、以下のコマンドを使用しました。

 #バックアップを作成する
crontab - l > $HOME / crontab - バックアップ
#Crontab UI をインストールする
npm インストール-g crontab - ui
# ローカルデータベースディレクトリを作成する
mkdir $HOME / crontab - ui
#crontab を起動- ui
CRON_DB_PATH = $HOME / crontab - ui crontab - ui

設定が完了したら、Webブラウザでhttp://localhost:8000にアクセスするだけで、crontab-uiのWebインターフェースが表示されます。まず、「Crontabから取得」をクリックして、既存のジョブを読み込みます。次に「バックアップ」をクリックして、変更内容を元に戻します。

Crontab-UIの画像

cronジョブの追加と編集は非常に簡単です。名前、実行したいコマンド全体、そして実行時間(cron構文を使用)を追加して保存します。さらに、ログをキャプチャしたり、ジョブのステータスを任意のメールアドレスにメールで通知するように設定したりすることもできます。

完了したら、「Crontab に保存」をクリックします。

個人的には、ログ機能がとても気に入っています。crontab-uiを使えば、ボタンをクリックするだけでログを確認できるので、トラブルシューティングの際に非常に便利です。

crontab-ui を継続的に実行することは、少なくとも公開状態ではお勧めしません。基本的な認証機能はありますが、ローカルマシンの外部に公開すべきではありません。cron ジョブを頻繁に編集する必要はないので、必要に応じて開始・停止できます。

次回 crontab を編集する必要がある場合は、crontab-ui をお試しください。