expect脚本自动化执行线上服务器命令
2016-12-30 15:08
232 查看
这个expect脚本是为了获取线上服务器的容量大小,并无实际意义
#!/usr/bin/expect
set timeout 60 #设置超时
set user [lindex $argv 0] #设置第一个参数
set password [lindex $argv 1]
set ipaddr [lindex $argv 2]
set port [lindex $argv 3]
set mypassword [lindex $argv 4]
spawn ssh $user@$ipaddr -p $port #远程连接ssh
expect {
"(yes/no)" { send "yes\r"; exp_continue }
"password:" { send "$password\r" }
}
expect $user@* {send " df -h > $ipaddr.disk.rocky \r" } ;
expect $user@* {send " df -ih >> $ipaddr.disk.rocky \r"}
#expect $user@* {send " scp -P 8026 *.rocky rockycai@180.173.150.12:/home/rockycai/ip_file/$ipaddr/ \r" } ;
#expect {
# "(yes/no)" { send "yes\r"; exp_continue }
# "password:" { send "$mypassword\r" }
#}
expect $user@* {send " rm -rf *.rocky \r"}
expect $user@* {send " exit \r" } ;
#spawn /home/rockycai/ssh/autoDemo.sh $ipaddr
expect eof ;
可以根据实际情况来更改需求
#!/usr/bin/expect
set timeout 60 #设置超时
set user [lindex $argv 0] #设置第一个参数
set password [lindex $argv 1]
set ipaddr [lindex $argv 2]
set port [lindex $argv 3]
set mypassword [lindex $argv 4]
spawn ssh $user@$ipaddr -p $port #远程连接ssh
expect {
"(yes/no)" { send "yes\r"; exp_continue }
"password:" { send "$password\r" }
}
expect $user@* {send " df -h > $ipaddr.disk.rocky \r" } ;
expect $user@* {send " df -ih >> $ipaddr.disk.rocky \r"}
#expect $user@* {send " scp -P 8026 *.rocky rockycai@180.173.150.12:/home/rockycai/ip_file/$ipaddr/ \r" } ;
#expect {
# "(yes/no)" { send "yes\r"; exp_continue }
# "password:" { send "$mypassword\r" }
#}
expect $user@* {send " rm -rf *.rocky \r"}
expect $user@* {send " exit \r" } ;
#spawn /home/rockycai/ssh/autoDemo.sh $ipaddr
expect eof ;
可以根据实际情况来更改需求
相关文章推荐
- Expect循环登录多台服务器执行命令的脚本
- TCL/EXPECT自动化测试脚本实例四 --- 批命令执行
- 使用expect和ssh远程执行命令的脚本
- shell小白 想玩自动化部署,无密码ssh 登录远程服务器,执行scp命令传送war包 并重启tomcat。
- websocket+Django+python+paramiko实现web页面执行服务器命令和脚本
- 脚本不输密码执行scp命令(需要expect和send命令)
- centos shell编程4【分发系统】 服务器标准化 mkpasswd 生成密码的工具 expect讲解 expect传递参数 expect自动同步文件 expect指定host和要同步的文件 expect文件分发系统 expect自动发送密钥脚本 Linux脚本执行方式 第三十八节课
- shell小白 想玩自动化部署,无密码ssh 登录远程服务器,执行scp命令传送war包 并重启tomcat。
- linux下shell脚本执行交互式操作命令 —【expect】
- 在 Linux 命令行脚本中执行 sudo 等命令时自动输入密码(使用expect)
- 在linux下如何通过expect正确执行自动切换登录,并且执行命令和脚本
- window和linux命令交互之--android镜像自动化编译,通过windows的bat脚本控制ubuntu编译服务器编译镜像
- expect 脚本本地单独调用可以执行,apache 服务器调用不能正常执行
- [Python/自动化运维] 利用Paramiko模块执行批量上传/下载/执行命令/查看服务器列表
- 脚本不输密码执行scp命令(需要expect和send命令)
- 使用expect工具ssh登录远程服务器并执行命令操作
- 自动化 远程登陆linux服务器并执行命令 —— expect
- 自动化运维,远程交互从服务器A上ssh到服务器B上,然后执行服务器B上的命令。
- Mac 自动化执行脚本 Expect
- 十七周四次课(11月30日) 20.31 expect脚本同步文件 20.32 expect脚本指定host和要同步的文件 20.33 构建文件分发系统 20.34 批量远程执行命令