20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数...
20.27 分发系统介绍
shell项目-分发系统-expect
20.28 expect脚本远程登录
1. 安装expect
[root@hao-01 ~]# yum install -y expect
自动远程登录
2. 创建配置1.expect脚本(远程登录)
[root@hao-01 ~]# vim 1.expect
添加内容(自动远程登录hao2机器并执行命令)
#! /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"
转载于:https://blog.51cto.com/zhuneianxiang/1967098
20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数...相关推荐
- 20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行
20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数 20.27 分发系统介绍 分发系统,什么叫分发系统,首先 ...
- 【Java】Java编写Telnet客户端,连接到Windows的Telnet服务器,执行命令和批处理脚本
Java编写Telnet客户端,连接到Windows的Telnet服务器,执行命令和批处理脚本,同时解决了中文乱码的问题. 源代码和Jar包在这里下载:http://download.csdn.net ...
- Python 实现远程服务器(ssh)批量执行命令
paramiko 远程控制介绍 Python paramiko是一个相当好用的远程登录模块,采用ssh协议,可以实现linux服务器的ssh远程登录.首先来看一个简单的例子 import parami ...
- 我写了一个脚本,可在“任意”服务器上执行命令!
冰河之前维护着上千台服务器组成的服务器集群,如果每次需要在服务器上执行命令的时候,都要手动登录每台服务器进行操作的话,那也太麻烦了.你想想,如果在上千台服务器的集群中,每台服务器中只需要简单的执行一个 ...
- 设置服务器系统的远程登录数量,设置服务器远程登录用户数量
设置服务器远程登录用户数量 内容精选 换一换 安装MySQL本文档以"CentOS 6.5 64bit(40GB)"操作系统为例,对应MySQL版本为5.1.73.CentOS 7 ...
- linux脚本开机自动执行脚本文件,如何让linux开机自动执行sata里头的脚本文件
基本步骤如下:1.创建包含sql命令的sql脚本文件文件中包含一些列的sql语句,每条语句最后以;结尾,文件内容示例如下:--创建表,使用"--"进行注释create table ...
- 在linux设置Mysql允许用户远程登录和限制用户远程登录
允许用户远程登录: use mysql;update user set host = '%' where user = 'root';select host, user from user;flush ...
- windows Server 2016 开启远程登录和多用户同时远程登录
转载连接: 开启远程登录: windows Server 2016 开启远程登录_idomyway的博客-CSDN博客前言 windows Server 2016 开启远程登录解决方法 ...
- Jenkins学习(执行命令路径,脚本上传静态html代码)(一)
Jenkins的安装 可参考https://www.cnblogs.com/yangzp/p/12953810.html sudo wget -O /etc/yum.repos.d/jenkins.r ...
最新文章
- HTML 5中SEO可以用那些代码来做优化
- .net remoting在wpf中的应用
- c语言结构体输入身高体重,c++:输入n名学生的身高体重,按身高排序输出并计算平均体重和身高...
- sql 数组三 展平数组
- CVPR 2022 57 篇论文分方向整理 + 打包下载|涵盖目标检测、语义分割、人群计数、异常检测等方向
- 与Maven 3,Failsafe和Cargo插件的集成测试
- matlab系统的初始条件,指定总线信号的初始条件
- 多元分类SVM(多类别SVM)程序使用说明
- ansible 循环与条件判断when
- await和async
- 代理IP软件如何只切换浏览器IP地址
- innobackupex备份与恢复
- latex ctex 中文目录在pdf阅读器的“书签”选项卡中显示乱码的解决方法
- MySQL学习2:表的创建和增删改
- 高等教育心理学:学生的个性与社会性的发展
- Qt5:报错error: 'tr' was not declared in this scop
- php 跳转邮箱,JS简单实现点击跳转登陆邮箱功能的方法
- ubuntu16.4离线安装显卡驱动
- ESP8266驱动1.44寸TFT屏幕(例程问题)
- 机械中计算机的应用研究,机械设计制造自动化中计算机技术的应用
热门文章
- 李彦宏/王坚/王传福等上榜“中国工程院2019院士增选候选人”引争议,实至名归吗?...
- 腾讯再次海选AI项目,1500进40,医疗零售机器人成新风向
- 开源代码却无奈遗弃,濒临奔溃的开源开发者们!
- 烦人的Null,你可以走开点了
- 初探莫比乌斯反演及欧拉反演
- 在Flash中利用PCRE正则式漏洞CVE-2015-0318的方法
- IT小妙招之:快马加鞭,Windows 7启动大提速
- 莫等闲,白了少年头,空悲切!
- render函数高级组件jsx基本使用
- Django REST framework API 指南(2):响应