建站服務(wù)器 我們有時(shí)可能會(huì)批量去操作服務(wù)器,比如批量在服務(wù)器上上傳某個(gè)文件,安裝軟件,執(zhí)行某個(gè) 命令和 腳本,重啟服務(wù),重啟服務(wù)器等,如果人工去一臺(tái)臺(tái)操作的話會(huì)特別繁瑣,并浪費(fèi)人力。
這時(shí)我們可以使用expect,向目標(biāo)服務(wù)器上發(fā)送指令去實(shí)現(xiàn)批量操作。
下面的例子將在 centos上將一個(gè)文件,批量拷貝到其他服務(wù)商上,并執(zhí)行相應(yīng)的 命令
1. 在centos上安裝expectyuminstallexpect2. 編寫expect 腳本copyfilebatch.sh
下面的腳本將向內(nèi)網(wǎng)IP為 192.168.0.102 至 192.168.0.112 的服務(wù)器分別拷貝一個(gè)rc.local文件,拷貝成功后,執(zhí)行chmod命令,分別重啟服務(wù)器
#!/usr/bin/expect-f setpasswordrootpassword for{seti102}{$i<=112}{incri}{ setip"192.168.0.$i" puts"$ip" spawnssh-oStrictHostKeyChecking=no$ip settimeout3 expect"root@$ip'spassword:" settimeout3 send"$password\\r" settimeout3 send"exit\\r" spawnscp/home/install/rc.localroot@$ip:/etc/rc.d/rc.local settimeout3 expect"root@$ip'spassword:" settimeout3 send"$password\\r" settimeout3 send"exit\\r" spawnsshroot@$ip expect{ "*yes/no"{send"yes\\r";exp_continue} "*password:"{send"$password\\r"} } expect"#*" #要執(zhí)行的命令 send"chmod+x/etc/rc.d/rc.local\\r" send"reboot\\r" send"exit\\r" expecteof }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助
原文來(lái)自: https://www.linuxprobe.com/expect-batch-command.html
網(wǎng)頁(yè)標(biāo)題:CentOS使用expect批量遠(yuǎn)程執(zhí)行腳本和命令
網(wǎng)頁(yè)鏈接:http://www.rwnh.cn/article22/cpeijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站、做網(wǎng)站、品牌網(wǎng)站建設(shè)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)