20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数

20.27 分发系统介绍

shell项目-分发系统-expect

20.28 expect脚本远程登录

1. 安装expect

[[email protected] ~]# yum install -y expect

自动远程登录

2. 创建配置1.expect脚本(远程登录)

[[email protected] ~]# vim 1.expect

添加内容(自动远程登录hao2机器并执行命令)

#! /usr/bin/expect

set host "192.168.211.129"

set passwd "admin"

spawn ssh [email protected]$host

expect {

"yes/no" { send "yes\r"; exp_continue}

"password:" { send "$passwd\r" }

}

interact

3. 增加1.expect脚本x权限

[[email protected] ~]# chmod a+x 1.expect

4. 执行1.expect脚本(远程登录)

[[email protected] ~]# ./1.expect

20.29 expect脚本远程执行命令

自动远程登录后执行命令并退出

1. 远程hao2机器,创建/tmp/12.txt文件,追加重定向1212到/tmp/12.txt文件:

[[email protected] ~]# vim 2.expect

添加内容:

#!/usr/bin/expect

set user "root"

set passwd "admin"

spawn ssh [email protected]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权限

[[email protected] ~]# chmod a+x 2.expect

3. 执行2.expect脚本

[[email protected] ~]# ./2.expect

20.30 expect脚本传递参数

传递参数

1.

[[email protected] ~]# 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 [email protected]$host

expect {

"yes/no" { send "yes\r"}

"password:" { send "$passwd\r" }

}

expect "]*"

send "$cm\r"

expect "]*"

send "exit\r"

2. 增加3.expect脚本x权限

[[email protected] ~]# chmod a+x 3.expect

3. 执行3.expect脚本

远程登录到指定用户名 主机ip 执行的多个命令(ls;w)

[[email protected] ~]# ./3.expect root 192.168.211.129 "ls;w"

时间: 2024-10-04 04:25:05

20.27分发系统介绍;20.28expect脚本远程登录;20.29expect脚本远程执行命令;20.30expect脚本传递参数的相关文章

20.27 分发系统介绍;20.28 expect脚本远程登录;20.29 expect脚本远程执行

20.27 分发系统介绍 shell项目-分发系统-expect 20.28 expect脚本远程登录 1. 安装expect : [[email protected] ~]# yum install -y expect 自动远程登录 2. 创建配置1.expect脚本(远程登录) : [[email protected] ~]# vim 1.expect 添加内容(自动远程登录hao2机器,并执行命令): #! /usr/bin/expect set host "192.168.211.129

20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行

20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数 原文地址:http://blog.51cto.com/12058686/2107915

20.27分发系统介绍

20.27 分发系统介绍 shell项目-分发系统-expect讲解 使用场景: 假如公司的业务做得越来越大,APP后端服务端所使用的编程语言是php,要想运行这个环境运行php代码,需要搭建lamp,lnmp的环境,最后还需要把代码上传到服务器上面. 在平时工作中,业务不断的迭代,有新的功能出现,这时候就需要更改代码,一台机器还好,甚至还可以在服务器上面更改,但是这样不规范,若干台,两三台的量还可以接受,如果机器特别多,甚至上百台的时候,这上百台机器存储的都是公司的站点.比如一个接口,APP访

分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

20.27 分发系统介绍 应用场景 当业务越做越大,服务器需求越来越多,几台服务器的话还好一点:当十几.几十台的时候,工作量就非常大!并且不规范,需要一个模板机分发到各个机器上去. 可以用开源的软件,expect脚本语言,进行实现分发系统的功能. 20.28 expect脚本远程登录 yum install -y expect 自动远程登录,并执行命令 #!/usr/bin/expect set host "192.168.21.130" set passwd "rootro

分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数

分发系统介绍 当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,expect脚本语言,进行实现分发系统的功能. expect脚本远程登录首先yum安装expectyum install -y expect 然后写一个expect的远程登录脚本#! /usr/bin/expectset host "192.168.133.132" 这是expect的变量

分发系统介绍,expect脚本远程登录, expect脚本远程执行命令, expect脚本传递参数

分发系统介绍 当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,expect脚本语言,进行实现分发系统的功能. expect脚本远程登录 首先yum安装expectyum install -y expect 然后写一个expect的远程登录脚本#! /usr/bin/expectset host "192.168.133.132" 这是expect的变

分发系统介绍、 expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数

分发系统介绍 大多数企业都会有这样的需求,业务稍微大一点,它都会去做一些负载均衡,也意味着你的机器有多台,至少得两台,两台的话,你的程序是分别放在了两台机器上或者是多台机器上:假如说要添加一个新的功能,或者说你的程序有一个小bug,那这个时候你如果想这个bug修复,或者说新增一个功能的话,你要去改程序,那很多企业有svn,它是一个代码管理仓库,那我们如果把程序修改了之后呢,先传一份到svn库里边去:如果再智能自动化一点,我可以从咱们服务器上或者测试机上把svn库里的代码直接拽过来,发布到咱们的测

分发系统-expect讲解,expect脚本远程登录,expect脚本远程执行命令,expect脚本

分发系统-expect讲解 业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者lnmp,最好还需要吧代码上传到服务器上:但是因为业务增加,代码增加,多台机器,就会非常麻烦:这是只需要一个分发系统,就可以把每次更新的代码发布到需要更新的服务器上 expect,是一种脚本语言:通过他可以实现传代码上线,也可以登录机器输入命令 首先要准备一台模板机器,机器的IP,对应用户的密码,通过rsync同步代码,还可以通过expect去执行某些命令 expect脚本远程登录 yum i

expect脚本同步文件、expect指定host和要同步的文件、构建文件分发系统、批量远程执行命令

  一.expect脚本同步文件 自动同步文件 ,把远程的文件同步到本机 cd /usr/local/sbin 1.脚本内容: #!/usr/bin/expectset passwd "123456"spawn rsync -av [email protected]:/tmp/12.txt /tmp/ expect {"yes/no" { send "yes\r" }"password:" { send "$pass