繰り返しジョブスケジューラを既存の製品に置き換える

繰り返しジョブスケジューラを既存の製品に置き換える

定期的に実行したいいくつかのタスクがあります。

  • すべてのGitリポジトリプッシュ(1日5回)
  • ファイルのウイルススキャン(90日ごと)
  • サーバーからバックアップをダウンロードする(1日1回)

これらすべての操作にスクリプトがあります。これを調整するために、私はmaintenance私の仕事の一部であるスクリプトを書いた。メンテナンス作業。これ現在のバージョンのスクリプト

ジョブ用のJSON構成ファイルがあります。

"git-autopush": {
    "disk": true,
    "internet": true,
    "interval": 0.3,
    "local": false
},

システムのカスタムソフトウェアを減らしたいので、スクリプトを既存のジョブスケジューラに置き換えたいと思います。ただし、次の要件があります。

  • バッテリーで動作するときは動作しないでください。
  • 目に見える状態を提供してください。それも通過することができますkdialog
  • 一度に1つのディスク使用量を持つジョブのみを実行してください。

スクリプトmaintenanceはこれを処理するため、ジョブを実行するのに十分な時間がある限り、スクリプトを実行できます。そうでない場合は、すべての操作を中断して後で再開できます。

通常のクローンは、コンピュータの電源が切れていると機能しないため、良いことではありません。 anacronは良いかもしれませんが、始めるとすぐにすべてのタスクをすぐに実行すると思います。また、仮想マシンディスクが必要な場合は、スケジューラに停止するようにどのように通知できますか?

既存のプログラムはありますか?それとも私のプログラムを使い続けるべきですか?

答え1

仮想マシン用ディスクが必要な場合は、スケジューラに停止するようにどのように通知できますか?

Cronとanacronは(通常)デーモンサービスです。他のサービスと同様に、停止して開始できます。

cronは、コンピュータの電源が切れていると機能しないため、悪いことです。

これは回りにくい標準です。コンピュータがシャットダウンしたときにソフトウェアが何をしたいですか?

anacronは良いかもしれませんが、始めるとすぐにすべてのタスクをすぐに実行すると思います。

確かに。しかし、ここにアイデアがあります。anacronで始まり、停止しますcron

一度に1つのディスク使用量を持つジョブのみを実行する

Anacronには次のオプションがあります。

-s
ジョブを順次実行します。 Anacronは、以前のタスクが完了するまで新しいタスクを開始しません。

これにより、次の2つを実装できます。

  • バッテリーで動作するときは動作しないでください。
  • 目に見える状態を提供してください。これはkdialogを介して達成することもできます。

1つ目は、anacronを起動する前にcronにバッテリーの状態を確認させることによって行うことができます。 2つ目はさまざまな方法で行うことができます。直接お勧めいただきましたね。

関連情報