2014-09-25 94 views
0

我正在嘗試編寫一個腳本,允許我從一個文件ping主機,如果主機上的主機移動到下一個主機時失敗並可能輸出失敗的主機。 在成功ping主機上建立一個目錄。從運行這個 腳本的主機。它應該是這樣得到它的平部分原因Bash腳本Ping主機和目錄

#!/bin/bash 
prod.txt=$(/usr/local/bin/prod.txt) 
for hosts in $(prod.txt); do 

我有問題需要解決 我有 的mkdir -p/VAR/DB/KDS>的/ dev/null的2> &廠名目錄1

謝謝!

回答

1

這裏,你可以適應您的需求的例子:

$ cat /tmp/hosts.txt 
10.10.0.1 
10.10.0.2 
10.10.0.3 
10.10.0.4 
10.10.0.5 
10.10.0.6 

$ cat /tmp/run.sh 
#!/bin/sh 

for host in $(cat /tmp/hosts.txt) 
do 
    if ping -c 2 $host >/dev/null 2>&1; then 
     mkdir -p /tmp/path/$host 
    else 
     echo "$host is down" 
    fi 
done 

$ ./run.sh 
10.10.0.2 is down 
10.10.0.3 is down 
10.10.0.4 is down 


$ ls /tmp/path/ 
10.10.0.1 10.10.0.5 10.10.0.6 
+0

完美的,這是我有什麼問題,謝謝linuxfan! – crypticsec 2014-09-25 11:50:54

+0

linuxfan,如何修改它,以便我可以在主機上創建目錄,如果傳遞ping。 – crypticsec 2014-09-25 12:38:05

+0

您能否詳細說明一下?你想在可達的主機上創建一個目錄嗎?如果是這樣,你需要在每臺主機上設置無密碼的ssh認證,並簡單地運行''ssh user @ $ host'mkdir -p/some/path'' – linuxfan 2014-09-25 17:33:12