CentOS使用expect批次遠端執行指令碼和命令
我們有時可能會批次去操作伺服器,比如批次在伺服器上上傳某個檔案,安裝軟體,執行某個 和 ,重啟服務,重啟伺服器等,如果人工去一臺臺操作的話會特別繁瑣,並浪費人力。 |
這時我們可以使用expect,向目標伺服器上傳送指令去實現批次操作。
下面的例子將在 上將一個檔案,批次複製到其他服務商上,並執行相應的
1. 在centos上安裝expect
yum install expect
2. 編寫expect
copyfilebatch.sh
下面的指令碼將向內網IP為 192.168.0.102 至 192.168.0.112 的伺服器分別複製一個rc.local檔案,複製成功後,執行chmod命令,分別重啟伺服器
#!/usr/bin/expect -f set password rootpassword for {set i 102} {$i <= 112} {incr i} { set ip "192.168.0.$i" puts "$ip" spawn ssh -o StrictHostKeyChecking=no $ip set timeout 3 expect "root@$ip's password:" set timeout 3 send "$password\r" set timeout 3 send "exit\r" spawn scp /home/install/rc.local root@$ip:/etc/rc.d/rc.local set timeout 3 expect "root@$ip's password:" set timeout 3 send "$password\r" set timeout 3 send "exit\r" spawn ssh root@$ip expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$password\r" } } expect "#*" #要執行的命令 send "chmod +x /etc/rc.d/rc.local\r" send "reboot\r" send "exit\r" expect eof }
以上就是本文的全部內容,希望對大家的學習有所幫助
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2703783/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ssh執行遠端指令碼遇到的坑指令碼
- 使用Linux expect批次巡檢Linux Aix Solaris磁碟使用率指令碼LinuxAI指令碼
- seleniumGrid分散式遠端執行測試指令碼分散式指令碼
- 遠端桌面連線命令 批次遠端管理
- Laravel cookie偽造,解密,和遠端命令執行LaravelCookie解密
- Apache SSI 遠端命令執行漏洞Apache
- PowerShell 中,您可以透過遠端控制執行多條命令。最常見的方法是使用 Invoke-Command 命令,它允許您在遠端計算機上執行指定的命令或指令碼塊計算機指令碼
- Go實現ssh執行遠端命令及遠端終端Go
- Saltstack系列2:Saltstack遠端執行命令
- PHPMailer遠端命令執行漏洞復現PHPAI
- Vs Code中執行vue命令顯示"系統禁止執行指令碼"無法在終端使用Vue指令碼
- Linux 定時執行指令碼、命令Linux指令碼
- xcall叢集執行命令指令碼指令碼
- ElasticSearch Groovy指令碼遠端程式碼執行漏洞分析(CVE-2015-1427)Elasticsearch指令碼
- 使用bat指令碼執行MySQL命令時遇到的坑BAT指令碼MySql
- shell指令碼命令 執行python檔案&python命令列執行python程式碼指令碼Python命令列
- python中使用subprocess批次執行linux下命令PythonLinux
- Mac 終端執行 shell 指令碼Mac指令碼
- Windows更新+中間人=遠端命令執行Windows
- Go語言:crypto/ssh執行遠端命令Go
- 基於paramiko的檔案批次分發和命令批次執行
- 批次遠端桌面連線 批次遠端桌面
- shell指令碼linux命令連續執行指令碼Linux
- ThinkPHP遠端程式碼執行漏洞PHP
- phpunit 遠端程式碼執行漏洞PHP
- Python執行作業系統命令並取得返回值和退出碼,支援有互信的遠端執行Python作業系統
- shell 命令在終端可以執行成功,為什麼放在 groovy 指令碼中不執行?指令碼
- 批次遠端桌面管理軟體 批次遠端桌面
- Oracle ASM使用asmcmd中的cp命令來執行遠端複製OracleASM
- Firefox 31~34遠端命令執行漏洞的分析Firefox
- 判斷ssh遠端命令是否執行結束
- ThinkPHP 5.0.23 遠端程式碼執行漏洞PHP
- OpenWRT 曝遠端程式碼執行漏洞
- WordPress 3.5.1遠端程式碼執行EXP
- Joomla遠端程式碼執行漏洞分析OOM
- 【Linux】命令expect使用詳解Linux
- Go執行指令碼命令用例及原始碼解析Go指令碼原始碼
- python模組paramiko的上傳下載和遠端執行命令方法Python