GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでcronジョブを簡単かつ安全に管理する方法

Linuxでタスクをスケジュールする場合、最初に頭に浮かぶユーティリティはどれですか。おそらく、 cron! cronユーティリティは、Unixライクなオペレーティングシステムで特定の時間にコマンド/タスクをスケジュールするのに役立ちます。すでにcronジョブの初心者向けガイドを公開しています。 。私はLinuxで数年の経験があるので、cronジョブを設定することは私にとって大したことではありません。しかし、それは初心者にとっては簡単なことではありません。初心者は、プレーンテキストのcrontabを編集しているときに、知らないうちに小さな間違いをして、すべてのcronジョブを停止する可能性があります。念のため、cronジョブを台無しにする可能性があると思われる場合は、別の方法があります。 Crontab UIに挨拶します 、Linuxオペレーティングシステムでcronジョブを簡単かつ安全に管理するためのWebベースのツール。

cronジョブを作成、削除、管理するためにcrontabファイルを手動で編集する必要はありません。マウスを数回クリックするだけで、Webブラウザを介してすべてを実行できます。 Crontab UIを使用すると、cronジョブを簡単に作成、編集、一時停止、削除、バックアップしたり、他のマシンでジョブをインポート、エクスポート、および展開したりすることができます。エラーログ、メーリング、フックのサポートも可能です。これは無料のオープンソースであり、 NodeJSを使用して記述されています 。

CrontabUIのインストール

Crontab UIのインストールは、ワンライナーコマンドです。 NPMがインストールされていることを確認してください。 npmをまだインストールしていない場合は、次のリンクを参照してください。

  • LinuxにNodeJSをインストールする方法

次に、次のコマンドを実行してCrontabUIをインストールします。

$ npm install -g crontab-ui

とても簡単です。先に進んで、CrontabUIを使用してcronジョブを管理する方法を見てみましょう。

Linuxでのcronジョブの簡単かつ安全な管理

Crontab UIを起動するには、次のコマンドを実行するだけです。

$ crontab-ui

次の出力が表示されます:

Node version: 10.8.0
Crontab UI is running at http://127.0.0.1:8000

次に、Webブラウザーを開き、 http://127.0.0.1:8000に移動します。 。ファイアウォール/ルーターでポート番号8000が許可されていることを確認してください。

ローカルシステム自体の中でのみCrontabUIWebダッシュボードにアクセスできることに注意してください。

システムのIPとカスタムポートを使用してCrontabUIを実行する場合(ネットワーク内の任意のリモートシステムからアクセスできるようにするため)、代わりに次のコマンドを使用します。

$ HOST=0.0.0.0 PORT=9000 crontab-ui
Node version: 10.8.0
Crontab UI is running at http://0.0.0.0:9000

これで、URLを使用してネットワーク内の任意のシステムからCrontab UIにアクセスできます-http:// :9000

これがCrontabUIダッシュボードの外観です。

CrontabUIダッシュボード

上のスクリーンショットでわかるように、CrontabUIダッシュボードは非常にシンプルです。すべてのオプションは自明です。

Crontab UIを終了するには、 CTRL + Cを押します。 。

cronジョブの作成、編集、実行、停止、削除

新しいcronジョブを作成するには、[新規]ボタンをクリックします。 cronジョブの詳細を入力し、[保存]をクリックします。

  1. cronジョブに名前を付けます。オプションです。
  2. 実行する完全なコマンド。
  3. スケジュール時間を選択します。クイックスケジュール時刻(スタートアップ、毎時、毎日、毎週、毎月、毎年など)を選択するか、コマンドを実行する正確な時刻を設定できます。スケジュール時間を選択すると、cronジョブの構文がジョブに表示されます。 フィールド。
  4. 特定のジョブのエラーログを有効にするかどうかを選択します。

これが私のサンプルのcronジョブです。

新しいcronジョブを作成します

ご覧のとおり、毎月pacmanキャッシュをクリアするcronジョブを設定しています。

同様に、必要に応じて任意の数のジョブを作成できます。ダッシュボードにすべてのcronジョブが表示されます。

CrontabUIダッシュボードのCronジョブ

cronジョブのパラメータを変更したい場合は、編集をクリックするだけです。 cronジョブの下にあるボタンをクリックし、必要に応じてパラメータを変更します。

すぐにジョブを実行するには、実行というボタンをクリックします 。ジョブを停止するには、[停止]をクリックします ボタン。 ログをクリックすると、任意のジョブのログの詳細を表示できます。 ボタン。ジョブが不要になった場合は、削除を押すだけです。 ボタン。

cronジョブのバックアップ

すべてのcronジョブをバックアップするには、メインダッシュボードから[バックアップ]を押し、[OK]を選択してバックアップを確認します。

cronジョブのバックアップ

このバックアップは、crontabファイルの内容を台無しにした場合に使用できます。

cronジョブを他のシステムにインポート/エクスポート

Crontab UIのもう1つの注目すべき機能は、cronジョブを他のシステムにインポート、エクスポート、およびデプロイできることです。ネットワーク上に同じcronジョブを必要とするシステムが複数ある場合は、エクスポートを押すだけです。 ボタンをクリックして、ファイルを保存する場所を選択します。 crontabファイルのすべての内容は、 crontab.dbという名前のファイルに保存されます。 。

crontab.dbファイルの内容は次のとおりです。

$ cat Downloads/crontab.db 
{"name":"Remove Pacman Cache","command":"rm -rf /var/cache/pacman","schedule":"@monthly","stopped":false,"timestamp":"Thu Aug 23 2018 10:34:19 GMT+0000 (Coordinated Universal Time)","logging":"true","mailing":{},"created":1535020459093,"_id":"lcVc1nSdaceqS1ut"}

次に、crontab.dbファイル全体を他のシステムに転送し、それを新しいシステムにインポートできます。すべてのシステムでcronジョブを手動で作成する必要はありません。それらを1つのシステムで作成し、それらすべてをネットワーク上のすべてのシステムにエクスポートおよびインポートするだけです。

既存のcrontabファイルからコンテンツを取得または保存する

crontabを使用してすでにいくつかのcronジョブを作成している可能性があります 指図。その場合は、[crontabから取得]をクリックして、既存のcrontabファイルの内容を取得できます。 メインダッシュボードのボタン。

crontabファイルからcronジョブを取得する

同様に、Crontab UIユーティリティを使用して、新しく作成したジョブをシステム内の既存のcrontabファイルに保存できます。これを行うには、crontabに保存をクリックするだけです。 ダッシュボードのオプション。

CrontabUIのアンインストール

Crontab UIが気に入らない、または使用しない場合は、次のコマンドを使用して削除します。

$ npm uninstall -g crontab-ui

結論

Crontab UIを使用したcronジョブの管理は、それほど複雑ではありません。初心者ユーザーは、Crontab UIを使用することで、面倒なことなく、任意の数のジョブを簡単に維持できます。試してみて、下のコメントセクションでこのツールについてどう思いますか。


Linux
  1. Linuxでcronを使用する方法

  2. Linuxでサービスを管理および一覧表示する方法

  3. fgおよびbgコマンドを使用してLinuxバックグラウンドジョブを管理する方法

  1. Linuxでユーザーパスワードの有効期限とエージングを管理する方法

  2. Crontabを使用してcronジョブをスケジュールする方法

  3. RockyLinux8にJavaバージョンをインストールして管理する方法

  1. Crontabを使用してLinuxでタスクを自動化する方法

  2. Linuxでcronジョブを一覧表示する方法

  3. Crontabとは何ですか?Crontabを使用してLinuxでタスクを自動化する方法