Shell-Script
uptime 腳本幫助
我正在尋找建構一個腳本,該腳本將使用主機文件登錄到多個伺服器並執行正常執行時間、主機名 -I 和主機名
到目前為止的腳本
echo"" ; echo "hostname:" $(ssh $HOST hostname) ; echo "IP:" $(ssh $HOST hostname -I) ; echo "uptime" $(ssh $HOST uptime) ; echo"" ;
實現我的目標的最佳方式是什麼?
假設您只想要終端中的所有輸出:
#!/bin/bash hosts_file=/path/to/file username=youruser while read -r host; do hostname=$(ssh "${username}@${host}" hostname) ip_addr=$(ssh "${username}@${host}" hostname -I) uptime=$(ssh "${username}@${host}" uptime) echo { echo "Hostname:?$hostname" echo "IP:?$ip_addr" echo "uptime:?$uptime" } | column -s\? -t echo done <"$hosts_file"
這將遍歷 hosts_file 的每一行,將整行分配給
host
. 然後它會將hostname
,ip_addr
, 和設置uptime
為遠端機器上的相應結果。然後它將以列格式回顯這些結果。