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://
これがCrontabUIダッシュボードの外観です。

CrontabUIダッシュボード
上のスクリーンショットでわかるように、CrontabUIダッシュボードは非常にシンプルです。すべてのオプションは自明です。
Crontab UIを終了するには、 CTRL + Cを押します。 。
cronジョブの作成、編集、実行、停止、削除
新しいcronジョブを作成するには、[新規]ボタンをクリックします。 cronジョブの詳細を入力し、[保存]をクリックします。
- cronジョブに名前を付けます。オプションです。
- 実行する完全なコマンド。
- スケジュール時間を選択します。クイックスケジュール時刻(スタートアップ、毎時、毎日、毎週、毎月、毎年など)を選択するか、コマンドを実行する正確な時刻を設定できます。スケジュール時間を選択すると、cronジョブの構文がジョブに表示されます。 フィールド。
- 特定のジョブのエラーログを有効にするかどうかを選択します。
これが私のサンプルの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を使用することで、面倒なことなく、任意の数のジョブを簡単に維持できます。試してみて、下のコメントセクションでこのツールについてどう思いますか。