分发系统-expect讲解业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者lnmp,最好还需要吧代码上传到服务器上;但是因为业务增加,代码增加,多台机器,就会非常麻烦;这是只需要一个分发系统,就可以把每次更新的代码发布到需要更新的服务器上expect,是一种脚本语言;通过他可以实现传代码上线,也可以登录机器输入命令首先要准备一台模板机器,机器的IP,对应用户的密码,通过
原创 2018-07-22 22:23:13
805阅读
Linux 是一种自由及开源的操作系统, 其中一个非常常用的工具是expect命令。expect 是一种可以用来自动化进行交互的工具,特别对于那些需要频繁输入密码的情况非常有用。在 Linux 中 expect 命令通常用来创建脚本来完全自动化某些任务。例如,我们可以用 expect 来编写一个脚本,用于自动登录到远程服务器并执行一些命令。 在这里,我们来介绍一下如何使用 expect 来编写一
expect脚本~/.ssh/know_hosts文件[远程ip:公钥]当我们使用公钥去ssh连接一台远程主机时,系统默认会把访问过的主机的公钥都记录在~/.ssh/know_hostscat~/.ssh/known_hosts192.168.221.20ecdsa-sha2-nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABB
原创 2018-03-18 11:03:47
1302阅读
1点赞
1评论
scp.sh#!/usr/bin/expectsettimeout120sethost[lindex$argv0]spawnscp-r/tmp/recommend.idprestat@$host:/tmp/expect{"(yes/no)?"{send"yes\n"expect"*assword:"{send"Sta*UHB7ujm\n"}}"*assword:"{send"Sta*UHB7ujm
原创 2019-12-05 10:54:42
506阅读
#!/usr/bin/expect //必须写这句,表明使用expect,有些系统可能没有自带,使用yum install expect -y 安装spawn ssh 192.168.2.128 //spawn后面相当与执行一条shell命令expect "password:" ...
原创 2021-07-21 13:42:38
136阅读
分发系统介绍expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。但当不能使用密钥验证的时候,我们就没有办法了。所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令。expect脚本远程登录安装:[root@centos7mon]#yuminstall-yexpect[root
原创 2017-11-30 11:45:25
1890阅读
分发系统介绍当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,expect脚本语言,进行实现分发系统的功能。expect脚本远程登录首先yum安装expectyuminstall-yexpect然后写一个expect的远程登录脚本#!/usr/bin/expect
原创 2018-06-05 23:36:10
1043阅读
分发系统介绍大多数企业都会有这样的需求,业务稍微大一点,它都会去做一些负载均衡,也意味着你的机器有多台,至少得两台,两台的话,你的程序是分别放在了两台机器上或者是多台机器上;假如说要添加一个新的功能,或者说你的程序有一个小bug,那这个时候你如果想这个bug修复,或者说新增一个功能的话,你要去改程序,那很多企业有svn,它是一个代码管理仓库,那我们如果把程序修改了之后呢,先传一份到svn库里边去;
原创 2018-09-25 00:36:20
3567阅读
1点赞
20.27分发系统介绍应用场景当业务越做越大,服务器需求越来越多,几台服务器的话还好一点;当十几、几十台的时候,工作量就非常大!并且不规范,需要一个模板机分发到各个机器上去。可以用开源的软件,expect脚本语言,进行实现分发系统的功能。20.28expect脚本远程登录yuminstall-yexpect自动远程登录,并执行命令#!/usr/bin/expectsethost"192.168.2
原创 2018-02-28 09:54:48
2183阅读
分发系统介绍当我们要上线一个新代码的时候,如果机器少,我们的工作量不会很大,很容易完成,如果设备很多,有几十台,上百台的话,那我们的工作量会非常大,而且也不规范,这时,我们就可以用可以用开源的软件,expect脚本语言,进行实现分发系统的功能。expect脚本远程登录首先yum安装expectyuminstall-yexpect然后写一个expect的远程登录脚本#!/usr/bin/expect
原创 2018-06-06 22:41:15
601阅读
分发系统介绍expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。但当不能使用密钥验证的时候,我们就没有办法了。所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令。expect脚本远程登录yuminstall-yexpect自动远程登录#!/usr/bin/expectset
原创 2018-07-21 01:51:14
892阅读
一、分发系统介绍场景:公司业务逐渐扩大,后端服务端使用的编程语言是PHP,要运行PHP的环境,需要配置LAMP或者LNMP环境,最后还需要把代码上传到服务器上去,但是业务在迭代,需要新增功能,一台机器还好,可以在机器上直接修改,但是这样做不规范,如果机器有几十台或者上百台机器都是这一个站点的,比如有一个接口,APP访问量很大,APP需要调用服务端的一个接口,假如这个接口有50台机器在承载,这时候,
原创 2018-07-22 22:47:46
795阅读
用autoexpect 自动化工具简单快速创建expect自动交互脚本eg:# autoexpect -p -f scp.exp          ——开始录制脚本,将要进行的步骤保存在脚本scp.exp中结束录制命令eg:# exitexpect脚本变量设置方法:    eg: set DATA [lindex $argv 0
原创 2013-05-17 17:23:18
958阅读
#!/usr/bin/expectset timeout 300set list [open ./test.txt r]set b [exec date +%Y%m%d -d "-2 days"]while { [gets $list line ] >=0 } {set ip [lindex $line 0]set dir [lindex $line 1]set user [lindex $
原创 2016-03-31 11:46:53
415阅读
  我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而expect就使用来实现这种功能的工具。expect简介  expect是一款自动化的脚本解释型的工具。expect基于tcl脚本expect脚本的运行需要tcl的支持。expect对一些需要交互输入的命令很有帮助
转载 5月前
52阅读
分发系统介绍expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。但当不能使用密钥验证的时候,我们就没有办法了。所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令。expect脚本远程执行命令1.安装expect[root@garytao-01mon]#yuminstall-
原创 精选 2018-02-27 17:06:51
7836阅读
2点赞
20.27分发系统介绍客户端APP的后端即是服务使用的语言是PHP,所以要想运行一些新的代码,那要在LAMP或LNMP环境下,最后还需要把代码上传到服务器上去,当业务需求变动时,需要新的功能,那需要更改代码,一台或几台服务器还可以应付,但服务器几十上百台,存储都是一台网站上的数据,那需要一个端口去承载,例如这个端口承载着50台服务器,这时候就需要搞一下分发系统了,可以把你最新更改的代码分别的发送到
原创 2018-04-25 21:07:13
1878阅读
exp文件的编写#!/usr/bin/expect set timeout 10set fname [lindex $argv 0]set ip [lindex $argv 1]set dname [lindex $argv 2]#spawn scp $fname root@$ip:$dnamespawn ssh root@$ipexpect {    &n
原创 2016-08-12 11:14:05
859阅读
Expect是Unix/Linux系统中用来进行自动化控制和测试的软件工具,它是Tcl脚本语言的一个扩展,应用在交互式软件中如telnet,ftp,ssh,rsync等。下面是一个用expect脚本登录远程机器的示例:#!/usr/bin/expectsethost[lindex$argv0]setpasswd[lindex$argv1]spawnsshroot@$hostexpect{&quot
原创 2019-03-27 14:48:56
545阅读
1点赞
  • 1
  • 2
  • 3
  • 4
  • 5