毎日実行し、システムの稼働時間を計算し、稼働時間が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の答え詳細はこちら)。