我正在嘗試創建一個簡單的bash腳本,它可以ping多個客戶端。如果客戶端不可達,那麼就應該在DB另一臺服務器上啓動更新...我有到數據庫服務器密碼的ssh訪問,所以我努力做到以下幾點:BASH腳本 - 通過ssh連接並運行mysql命令
for i in {11..25}
do
if ping -q -c 1 192.168.42.$i > /dev/null 2>&1
then
echo 1
else
ip=192.168.42.$i
ssh [email protected] "mysql -u parkuser -ppass -e 'update SMARTPARK.client SET online=0 where SMARTPARK.ip_client=$ip'"
fi
done
我「M得到一個bash: mysql: command not found
錯誤使用時......顯然MySQL是安裝在數據庫服務器
ssh登錄在沒有密碼,MySQL有它 – besmart
您的更新將反正失敗。 '... ip_client = 192.168.42.11'是無效的,會在sql級別導致語法錯誤。 –
你是對的...我必須使用單引號嗎? – besmart