スクリプトは受信HTTPメッセージを監視し、zabbixという監視アプリケーションに転送しますが、正常に動作しますが、約1〜2日後には動作を停止します。相続人は、私がこれまで知っている:私は、スクリプトがまだログファイルのファイルはFIFOパイプが を動作しているようだ、適切に(スクリプトの最初のコマンド) bashスクリプトが動作を停止する理由
pgrep
を使用して
-
問題は、WHILEループまたはテールコマンドのどこかにある必要があります。 スクリプトで新しくなったので、誰かがすぐに問題を見つけることができますか?
#!/bin/bash tcpflow -p -c -i enp2s0 port 80 | grep --line-buffered -oE 'boo.php.* HTTP/1.[01]' >> /usr/local/bin/logfile & pipe=/tmp/fifopipe trap "rm -f $pipe" EXIT if [[ ! -p $pipe ]]; then mkfifo $pipe fi tail -n0 -F /usr/local/bin/logfile > /tmp/fifopipe & while true do if read line <$pipe; then unset sn for ((c=1; c<=3; c++)) # c is no of max parameters x 2 + 1 do URL="$(echo $line | awk -F'[ =&?]' '{print $'$c'}')" if [[ "$URL" == 'sn' ]]; then ((c++)) sn="$(echo $line | awk -F'[ =&?]' '{print $'$c'}')" fi done if [[ "$sn" ]]; then hosttype="US2G_" host=$hosttype$sn zabbix_sender -z nuc -s $host -k serial -o $sn -vv fi fi done
変数$ hostにはどこに値を割り当てますか? – Cyrus
これは助けになるかもしれません:[bashスクリプトをデバッグする方法?](http://unix.stackexchange.com/q/155551/74329) – Cyrus
私はちょうどここに投稿するために少しスクリプトを簡略化しました、私はそれを割り当てます。投稿を修正しました – tarmogr