Linux でウェイクアップ後に実行されないジョブをスケジュールする

Linux でウェイクアップ後に実行されないジョブをスケジュールする

Arch Linux で毎日特定の時間にサスペンド/電源オフなどの電源管理を行う特定のスクリプトを実行したいと考えています。

私はこれを fcron 経由で試しました。今のところ問題はありません。

問題は、マシンを自分でサスペンドした場合にはジョブが翌日のウェイクアップ時に実行されるのに対し、翌日のウェイクアップ時にジョブが実行されないようにしたいことです。

何か解決策はありますか? 他のスケジューラの方が優れているでしょうか?

答え1

タイマーはまさにあなたが欲しいものです!

systemctl list-timers

現在アクティブなタイマーを一覧表示します。Archにはタイマーに関する素晴らしい記事があります。下にスクロールして、タイマーの説明を読んでみてください。一時タイマーユニット:

systemd-run --on-active="12h 30m" /bin/touch /tmp/foo

12 時間半のアクティビティの後に /tmp/foo ファイルにアクセスします。

関連情報