20.27 分發系統介紹shell
shell項目-分發系統-expectvim
20.28 expect腳本遠程登陸ssh
1. 安裝expect :ide
[root@hao-01 ~]# yum install -y expectspa
自動遠程登陸blog
2. 建立配置1.expect腳本(遠程登陸) :ip
[root@hao-01 ~]# vim 1.expectit
添加內容(自動遠程登陸hao2機器,並執行命令):class
#! /usr/bin/expect登錄
set host "192.168.211.129"
set passwd "admin"
spawn ssh root@$host
expect {
"yes/no" { send "yes\r"; exp_continue}
"password:" { send "$passwd\r" }
}
interact
3. 增長1.expect腳本x權限 :
[root@hao-01 ~]# chmod a+x 1.expect
4. 執行1.expect腳本(遠程登陸) :
[root@hao-01 ~]# ./1.expect
20.29 expect腳本遠程執行命令
自動遠程登陸後,執行命令並退出
1. 遠程hao2機器,建立/tmp/12.txt文件,追加劇定向1212到/tmp/12.txt文件 :
[root@hao-01 ~]# vim 2.expect
添加內容:
#!/usr/bin/expect
set user "root"
set passwd "admin"
spawn ssh $user@192.168.211.129
expect {
"yes/no" { send "yes\r"; exp_continue}
"password:" { send "$passwd\r" }
}
expect "]*"
send "touch /tmp/12.txt\r"
expect "]*"
send "echo 1212 > /tmp/12.txt\r"
expect "]*"
send "exit\r"
2. 增長2.expect腳本x權限 :
[root@hao-01 ~]# chmod a+x 2.expect
3. 執行2.expect腳本 :
[root@hao-01 ~]# ./2.expect
20.30 expect腳本傳遞參數
傳遞參數
1.
[root@hao-01 ~]# vim 3.expect
添加內容:
#!/usr/bin/expect
set user [lindex $argv 0]
set host [lindex $argv 1]
set passwd "admin"
set cm [lindex $argv 2]
spawn ssh $user@$host
expect {
"yes/no" { send "yes\r"}
"password:" { send "$passwd\r" }
}
expect "]*"
send "$cm\r"
expect "]*"
send "exit\r"
2. 增長3.expect腳本x權限 :
[root@hao-01 ~]# chmod a+x 3.expect
3. 執行3.expect腳本 :
遠程登陸到指定用戶名 主機ip 執行的多個命令(ls;w)
[root@hao-01 ~]# ./3.expect root 192.168.211.129 "ls;w"