我試圖bash腳本轉換爲Nagios的插件Nagios的插件來檢查文件x分鐘內創建
該腳本將運行一個find命令,看看文件x分鐘內創建:
#!/bin/bash
#
#Check NVR
newfiles=$(find /srv/unifi-video/videos/* -name '*.ts' -mmin -10 | wc -l)
if [[ $newfiles -eq 0 ]] ; then
echo "!!!WARNING!!! The NVR has System stopped recording."
fi
我試圖把該腳本轉換爲Nagios的插件在這裏:
#!/bin/bash
#
#Check NVR
#http://www.netchester.com
#Check if NVR System is recording correctly
newfiles=$(find /srv/unifi-video/videos/* -name '*.ts' -mmin -10 | wc -l)
case $mewfiles in
if [[$newfiles -ne 0]]
then
echo "!!!OK!!! NVR is recording."
exit 0
fi
if [[$newfiles -eq 0]]
then
echo "!!!WARNING!!! NVR is not recording."
exit 1
fi
但我保持我每次運行它時收到錯誤消息:
./check_nvr.sh: line 9: syntax error near unexpected token `[[$newfiles'
./check_nvr.sh: line 9: `if [[$newfiles -ne 0]]'
我不知道如何解決這個問題。我會很感激任何指導!
編輯:
我改變了腳本:
#!/bin/bash
#
#Check NVR
#http://www.netchester.com
#Youssef Karami
#Check if NVR System is recording correctly
newfiles=$(find /srv/unifi-video/videos/ -name '*.ts' -mmin -10 | wc -l)
case $newfiles in
[1]*)
echo "OK - $newfiles$ found."
exit 0
;;
[0]*)
echo "WARNING - $newfiles% found."
exit 1
;;
esac
但現在經過我跑了劇本
我不是專家,但是你不需要'[['和''']]之後的空格嗎? – NoseKnowsAll
我做了和沒有空間我得到了相同的錯誤信息 –
請看看:http://www.shellcheck.net/ – Cyrus