稼働時間が72時間を超えているかどうかを確認するには?

稼働時間が72時間を超えているかどうかを確認するには?

毎日実行し、システムの稼働時間を計算し、稼働時間が72時間を超える場合は、システムを再起動するスクリプト(cronジョブ)を作成する必要があります。

時間値を72と比較できる値に変換する方法を失いました。それは私を再び連れてくる6499.04: command not found

#!/bin/bash
if $(awk '{print $1}' /proc/uptime) / 3600 > 72 ; then
    echo "yes"                                                                                                                                                                        
fi

助けてくれてありがとう!

ベストアンサー1

完全なテストはAWKで行います。

awk '$1 > (72 * 3600) { print "yes" }' /proc/uptime

これをテストとして使用するには、終了コードを使用します。

if awk '{ exit ($1 < (72 * 3600)) }' /proc/uptime; then
    echo Need to reboot
fi

($1 < (72 * 3600))AWK は、比較が失敗した場合は 0 と評価され、そうでなければ 1 と評価され、終了コードで成功を示すため、条件を反転します。

systemdを使用する場合のもう1つのアプローチは、systemdタイマーを使用することです。OnBootSec=72h(望むよりFelixJNの答え詳細はこちら)。

おすすめ記事