2
我有一個簡單的bash腳本,假設它監視mysql是否啓動或關閉。如果發生故障,我想也停止運行HAProxy。下面是我簡單的bash腳本:Linux bash腳本代理怪異
#!/bin/bash
nc -z 127.0.0.1 3306
rt_val=$?
msg=$(sudo service haproxy stop);
if [ $rt_val != 0 ]; then
eval $msg
exit 3
else
exit 0
fi
MySQL運行或不運行部分工作正常。這是停止HAProxy部分,似乎有問題。發生什麼事是當mysql停止時HAProxy停止。但是,當我啓動MySQL和HAProxy時,即使MySQL啓動並運行,腳本似乎仍會停止HAProxy。
推薦在字符串中存儲命令不是一個好主意。函數或數組** **更好,更強大。有關此問題的更多詳細信息,請參見[Bash FAQ 050](http://mywiki.wooledge.org/BashFAQ/050)。 (它適用於這種簡單的情況,但對於更復雜的情況失敗,所以最好總是避免它。) –
@EtanReisner:當然可以。我會盡力改正。 –
謝謝邁克爾。使用該功能的作品。第二件代碼實際上沒有。 –