下月有一個系統上線23台主機,虛拟機模闆不帶應用使用者,是以隻能手動來一個一個建立,于是想到了寫一個小腳本解脫重複勞動的痛苦。
整個腳本分為腳本和配置檔案:
配置檔案如下:
1
2
3
4
5
<code>username=root</code>
<code>password=1q2w3e</code>
<code>ip1=192.168.10.129</code>
<code>ip2=192.168.10.130</code>
<code>ip3=192.168.10.128</code>
腳本檔案如下:
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<code>UNAME=`</code><code>cat</code> <code>.</code><code>/sysinfo</code><code>.conf| </code><code>grep</code> <code>username|</code><code>awk</code> <code>-F </code><code>'='</code> <code>'{print $2}'</code><code>`</code>
<code>PASSWD=`</code><code>cat</code> <code>.</code><code>/sysinfo</code><code>.conf| </code><code>grep</code> <code>password|</code><code>awk</code> <code>-F </code><code>'='</code> <code>'{print $2}'</code><code>`</code>
<code>cat</code> <code>.</code><code>/sysinfo</code><code>.conf|</code><code>grep</code> <code>ip|</code><code>awk</code> <code>-F </code><code>'='</code> <code>'{print $2}'</code> <code>| </code><code>while</code> <code>read</code> <code>IP </code>
<code>do</code>
<code>ping</code> <code>-c 2 $IP ></code><code>/dev/null</code> <code>2>&1</code>
<code>conn_check=$?</code>
<code>if</code> <code>[ $conn_check -</code><code>eq</code> <code>0 ]; </code><code>then</code>
<code>expect << EOF</code>
<code>spawn </code><code>ssh</code> <code>$UNAME@$IP</code>
<code>expect </code><code>"*password:"</code> <code>{ send </code><code>"$PASSWD\r"</code> <code>}</code>
<code>expect </code><code>"*]#"</code> <code>{ send </code><code>"lvcreate -L 500M -n lv_test system\r"</code> <code>}</code>
<code>expect </code><code>"*]#"</code> <code>{ send </code><code>"mkdir /test\r"</code> <code>}</code>
<code>expect </code><code>"*]#"</code> <code>{ send </code><code>"mkfs.ext4 /dev/system/lv_test\r"</code> <code>}</code>
<code>expect </code><code>"*]#"</code> <code>{ send </code><code>"mount /dev/system/lv_test /test\r"</code> <code>}</code>
<code>expect </code><code>"*]#"</code> <code>{ send </code><code>"exit\r"</code> <code>}</code>
<code>EOF</code>
<code>elif</code> <code>[ -s .</code><code>/error</code><code>.log ]; </code><code>then</code>
<code>echo</code> <code>"`date` The hostmachine $IP is not connected!"</code><code>>>.</code><code>/error</code><code>.log</code>
<code>else</code>
<code>echo</code> <code>"`date` The hostmachine $IP is not connected!"</code><code>>.</code><code>/error</code><code>.log</code>
<code>fi</code>
<code>done</code>
備注:裡面的IP為案例IP并非我主機實際IP
本文轉自 yuri_cto 51CTO部落格,原文連結:http://blog.51cto.com/laobaiv1/1978665,如需轉載請自行聯系原作者