systemdタイマーがちゃんと動いてるか確認したほうが良いよというお話
systemctl list-timers --all
コマンドで一覧が見れるあれです
debian10だと /etc/cron.daily にあるスクリプトでこんな感じに書かれてたら、systemd timerの方を使ってる
if [ -d /run/systemd/system ]; then
exit 0
fi
前回 と同様にノートパソコンのバッテリー稼働と誤って判断されることに起因する問題
例えばlogrotateとかみると
systemctl cat logrotate
こんな一文がある
ConditionACPower=true
これはバッテリー駆動の時は動かさないって意味らしいんだけど、どうも判定が狂ってるみたいでずっと実行されなかった
なので、以下のコマンドでoverride.conf作って判定を無効化した
systemctl edit logrotate
# 書いた内容
[Unit]
ConditionACPower=
というわけで
cronだけじゃなくて, systemd-timerもちゃんと見ておかないといけない
journalctl -n 10 -u logrotate | egrep -i "condition check.*skipped"
とりあえず分かった、バッテリー時の判定が入ってるtimer
- apt-daily-upgrade
- man-db
- logrotate
- anacron
- apt-daily