社内の自動化スクリプトが定期的に実行されています。 1つは5分ごと、もう1つは1分ごとです。実際にオンザドットで実行する必要はありません。例えば12:00、12:05など、または12:03、12:08などに実行してもかまいません。一定の間隔が必要です。
現在、指定した間隔でこれらのスクリプトを実行しているcrontabがあります。ただし、同じマシンにカスタムの社内systemdサービスユニットファイルもあります。スクリプトをsystemdサービスユニットとタイマーファイルに移動するのが良いのか、あるいは、RestartおよびRestartSecディレクティブでsystemdサービスユニットファイルを使用するのが良いのか知りたいと思っていました。
何かを言い換える必要があるか、不明な点があるかをお知らせください。
具体的には、 systemd.service units の定義はRestart=always
およびRestartSec=300
は、「前回の実行の終了コードを無視して、常に5分ごとに実行する」と同義です。ただし、同じことを行うように構成できる systemd.timer unit もありますが、正常終了のみなどの特定の終了コードを使用する可能性があります。
私は両方の長所と短所を探しています。
ありがとう!
プロセスマネージャーを使用して作業を行うことをお勧めします。幸いなことに、これまでにない最高のプロセスマネージャーsystemd
がいます。私の目には、両方のソリューションがあなたのケースで機能しているとしても、それは意味論についてです。
RestartSec
を定義しないと、ユニットを再起動するとすぐにホールドオフタイムアウトに達するため、ユニットを再起動するとすぐに障害状態になります。