2015-04-24 228 views
0

我有下面的腳本,當我把它分解時它就起作用。 但是,當我運行它告訴我,MySQL沒有運行。並啓動mysql服務器。bash腳本MYSQL運行?

當我運行pgrep mysqld | wc -l它返回2,但由於某種原因,腳本仍然運行

echo "MySQL is down."; 
      service mysqld start 

這裏是原始腳本。

#!/bin/bash 
UP=$(pgrep mysqld | wc -l); 
if [ "$UP" -ne 1 ]; 
then 
     echo "MySQL is down."; 
     service mysqld start 

else 
     echo "All is well."; 
fi 
+0

....你的mysql多久會崩潰,你需要這個? –

+1

在計數之前,你看過'pgrep mysqld'返回哪行嗎? –

回答

0

您正在測試1的輸出,但它會在您寫入時返回2。將一個條件更改爲-lt。

無論如何,我會使用類似這樣的東西來查看mysql狀態,而不是pgrep:service mysql status