最近、誰かが私にcronの代替、つまりシステムタイマーがあると指摘しました。
しかし、私はsystemdまたはsystemdタイマーについて何も知りません。私はcronだけを使用しました。
少しArch Wikiでの議論。しかし、私はcron
長所と短所に焦点を当て、systemdタイマーとの詳細な比較を探しています。私はDebianを使用していますが、両方の選択肢を使用できるすべてのシステムを全体的に比較したいと思いました。このセットにはLinuxディストリビューションのみを含めることができます。
これが私が知っていることです。
クローンは1970年代後半にさかのぼり、非常に古くなりました。 cronの原作者はUnixの創始者であるKen Thompsonです。最新のLinuxディストリビューションのcronは、1987年にさかのぼるVixie cronの直系の子孫です。
Systemdは、より新しく、やや議論の余地があります。 Wikipediaによると、最初の出版日は2010年3月30日でした。
したがって、システムタイマーと比較してcronの現在の利点のリストは次のとおりです。
Cronは、インストール可能でサポートされているソフトウェアの点で、すべてのUnixシリーズシステムに存在することが保証されています。これは変わりません。対照的に、systemdは将来のLinuxディストリビューションに残っている可能性があります。これは基本的に初期化システムであり、他の初期化システムに置き換えることができます。
クローンは使いやすいです。システムタイマーよりも確かに簡単です。
cronと比較してsystemdタイマーの利点のリストは次のとおりです。
- システムタイマーはより柔軟で強力です。しかし、いくつかの例を見たいと思います。
したがって、要約すると、答えで次のいくつかを見るのが良いでしょう。
- cronタイマーとsystemdタイマーの詳細比較(各使用の長所と短所を含む)
- ある人はできますが、他の人はできないことの例です。
- 少なくとも、cronスクリプトとシステムタイマースクリプトを並べて比較します。
ベストアンサー1
これら2つのいくつかの重要なポイントは次のとおりです。:
クローン操作が正確に何をしているかを確認するのはかなり混乱しますが、すべてのsystemdタイマーイベントは他のイベントベースのsystemdユニットと同様にsystemdログに注意深く記録されるため、作業が簡単になります。
systemdタイマーは、リソース管理、IO CPUスケジューリングなどのすべての機能を備えたsystemdサービスです。
リストは次のとおりです。- システムコールフィルタ
- ユーザー/グループID
- 会員管理
- お金の価値
- OOMスコア
- IOスケジューリングカテゴリと優先順位
- CPUスケジューリング戦略CPU
- アフィニティマスク
- タイマーカジュアルパンツ
- 安全なビット
- ネットワークアクセスと...
- システムコールフィルタ
他のシステムサービスと同様に、依存関係オプションを使用してアクティベーション時間を信頼できます。
デバイスはさまざまな方法で有効にでき、デバイスの組み合わせを設定できます。サービスは、ユーザー、起動、ハードウェア状態の変更など、さまざまなイベントによって開始およびトリガーできます。たとえば、一部のハードウェアを接続して5分後に...
必要に応じて、さまざまなカスタマイズのためにシステムタイマーを使用するようにいくつかのファイルと直接タグを設定する方が簡単です。
次の機能により、機能全体を簡単に有効/無効にできます。
systemctl enable/disable
そして働く子供たちをすべて殺しなさい:
systemctl start/stop
systemdタイマーは、カレンダーと単調な時間を使用して予約できます。これは時間帯が異なる場合に便利です。
systemdタイムイベント(カレンダー)はcronよりも正確です(精度は1秒のようです)。
システム化された時間イベントは、繰り返し発生するか、または一度発生する必要があるイベントについてより意味があります。以下は、次の例です。 文書:
Sat,Thu,Mon-Wed,Sat-Sun → Mon-Thu,Sat,Sun *-*-*00:00:00 Mon,Sun 12-*-* 2,1:23 → Mon,Sun 2012-*-* 01,02:23:00 Wed *-1 → Wed *-*-01 00:00:00 Wed-Wed,Wed *-1 → Wed *-*-01 00:00:00 Wed, 17:48 → Wed *-*-* 17:48:00
CPU使用率の観点から、システムタイマーは経過時間が経過するとCPUを起動しますが、cronはこれをより頻繁に実行します。
実行が完了した時点に基づいてタイマーイベントをスケジュールし、実行間にわずかな遅延を設定できます。
他のプログラムとの通信も注目に値する。時々、他のプログラムがタイマーの状態とそのタスクを知る必要があるかもしれません。