一定期間内にサービスを実行する

一定期間内にサービスを実行する

おはようございます。入力中にノートパソコンのキーボードのバックライトを有効にするスクリプトがあります。一日中スクリプトをアクティブに保つサービスが設定されていますが、今は別のことをしたいと思います。サービスが夜にのみアクティブになるようにsystemctlを設定できますか? (午後9時〜午前7時)だから:

  1. この期間中にシステムが起動するとサービスが実行され、そうでない期間にシステムが起動するとサービスは実行されません。
  2. システムが午後8時にアクティブになると、サービスが開始され、午前7時に停止します。
  3. サービスが有効になっていて、ノートブックがスリープモードになってから午後に再びオンになったら、サービスを停止する必要があります。

crontabを設定しましたが、2番目のポイントでのみ機能します。 3番目の項目にも適用されるかどうかはまだわかりません。

よろしくお願いします!

ベストアンサー1

  1. @rebootあなたのcrontab

  2. 午後8時のcronジョブはサービスを開始し(必要な場合)、ジョブをatキューに入れて0700サービスを停止できます。読むman at

  3. 一時停止/再開/休止状態/再開でスクリプトを実行する方法については、パッケージをインストールしてpm-toolsお読みください。dpkg -L pm-tools

おすすめ記事