サーバー監視において、高負荷が上がった場合、 サーバーにssh接続できないことがあるからcronで対応することがあります。 その条件として何かしらのプロセス数を用いることが多いからテンプレートを作成しました。
#!/bin/bash
ps=`ps -ef | grep <監視したいプロセス> | wc -l`
date=`date '+%Y/%m/%d - %H:%M:%S'`
if [[ $ps -gt <プロセス数> ]]; then
echo $date ; <実行内容>
else
echo $date "プロセス数:$ps"
fi
cronとあわせる場合
1 * * * * /usr/local/bin/test >> /var/log/test_log
elseの結果を /var/log/test_log から確認した場合、
2021/10/02 - 13:22:01 プロセス数:1