下月有一个系统上线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,如需转载请自行联系原作者