systemd を利用したタイマー処理(cron 動作)
例
- 1 分平均のロードアベレージが X を超えたら
ps auxfww
を実行
- 1 分平均のロードアベレージが X を超えたら
ソースコード
timer 設定(/etc/systemd/system/list-process.timer)
[Unit] Description=Run list-process [Timer] OnBootSec=1min OnUnitActiveSec=15s AccuracySec=1s Unit=list-process.service [Install] WantedBy=timers.target
service 設定(/etc/systemd/system/list-process.service)
[Unit] Description=List Process over Loadaverage Threshold [Service] Type=oneshot ExecStart=/usr/bin/go run /srv/list-process/main.go
timer を有効化
$ sudo systemctl start list-process.timer $ sudo systemctl enable list-process.timer
動作確認
- stress コマンドで負荷上げる
- journalctl コマンドでログの出力を確認