Oldukça garip bir sorun yaşıyorum, birden çok sunucuda bir komut dosyası (Bash) çalıştırıyorum ve sunuculardan birinde çalışmayı durdurdu (diğer tüm sunucularda mükemmel çalışıyor).
İşte script sorunu parçasıdır: ((kendim yazmadım, bütün kredi "Zengin" gidin) http://www.notrainers.org/monitoring-memory-usage-on-linux-with-nagios- and-nrpe / )
if [ "$result" -lt "$warn_level" ]; then #Line 56
echo "Memory OK. $result% used."
exit 0;
elif [ "$result" -ge "$warn_level" ] && [ "$result" -le "$critical_level" ]; then #Line 59
echo "Memory WARNING. $result% used."
exit 1;
elif [ "$result" -gt "$critical_level" ]; then #Line 62
echo "Memory CRITICAL. $result% used."
exit 2;
fi
Tam hata mesajı:
./check_memory.sh: Line 56: [: 7.: integer expression expected
./check_memory.sh: Line 59: [: 7.: integer expression expected
./check_memory.sh: Line 62: [: 7.: integer expression expected
Daha fazla bilgiye ihtiyacınız varsa, bana bildirin, mümkün olduğunca hızlı bir şekilde tedarik etmeye çalışacağım.
Tüm girdileri takdir edin :)
${result%%.*}burada ondalık noktayı kaldırmak için doğru genişleme olacaktır. Ancakcut -c -2, 100 veya daha fazla sayı ile ilgili sorunlara da neden olacağını unutmayın , bu yüzden tamamen düşürmek daha güvenlidir.