Linux下Expect 完成自动输入密码】的更多相关文章

今天要开发一个定时任务,然后加入cron列表中.但是有个问题摆在眼前,脚本的执行中需要输入数据库密码(貌似5.1版本以上不允许在-p后直接加密码,会报错) mysql -u root -p << SQL use db; set names utf8; `cat task.sql` SQL 运行上述代码后,会提示: Enter password: expect可以帮助我们完成这件事情: 将上述代码保存到一个文件中:db.sh 并且编写如下代码保存为db.exp: #!/usr/bin/expec…
Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下的 bash.windows 下的 cmd 是一类东西. 注意:这一行需要在脚本的第一行,从而告知操作系统采用 expect 作为 shell 执行脚本. 注意:当使用 #!/usr/bin/expect -d 时,expect 脚本将运行在调试模式,届时脚本执行的全过程将被展示出来. 2. set…
通过expect免自动输入密码登陆远程服务器 1.前提必须已经安装expect 2.新建login.sh,文件内容如下 #!/usr/bin/expect -f spawn ssh root@140.10.10.52expect "password:"send "passwordR\r"interact 3.执行./login.sh即可登陆远端服务器…
title: 解决Linux下SSH超时自动断开 comments: false date: 2019-08-19 19:22:55 description: Linux 下 SSH 超时自动断开??? categories: Linux 概述 之前连接 Linux 服务器时 SSH 过去不会自动断开,但是今天公司突然更改了网段,连接 Linux 服务器之后过一会儿就自动断开了,用 tail 监控日志一会儿就断开了,很烦.自己搜了好多,都不管用,最后在领导的指导下,配置好了. 但是为什么之前不会…
因为要对客户方的快30个项目进行特别有顺序的重启,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的可以.没有一段是可以正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ############################################## #!/usr/bin/expect set timeo…
expect是交互性很强的脚本语言,可以帮助运维人员实现批量管理成千上百台服务器操作,是一款很实用的批量部署工具!expect依赖于tcl,而linux系统里一般不自带安装tcl,所以需要手动安装 下载:expect-5.43.0.tar和tcl8.4.11-src.tar下载地址:https://pan.baidu.com/s/1kVyeLt9 提取密码:af9p 将expect和tcl的软件包下载放到/usr/local/src目录下 (1)解压tcl,进入tcl解压目录,然后进入unix目…
前提条件服务器已经安装过tcl和expect, 若未安装:可以先执行 yum  install tcl  expect  进行安装 第一步.编写以下自动登录脚本login.sh ############################################## #!/usr/bin/expectset timeout 10 spawn ssh username@172.16.2.1expect "password:"send "password\r"int…
一.expect介绍 Expect是Unix系统中用来进行自动化控制和测试的软件工具,由DonLibes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件中如telnet,ftp,Passwd,fsck,rlogin,tip,ssh等等.该工具利用Unix伪终端包装其子进程,允许任意程序通过终端接入进行自动化控制:也可利用Tk工具,将交互程序包装在X11的图形用户界面中. 简单地说,expect是一个工具,可以根据用户设定的规则和系统进程进行自动化交互,例如远程登陆的密码输入.自动化的执行远程…
1. 引言 最近做了一个项目,需要频繁与另一台主机进行文件的传输:中间想到了很多方式:FTP.samba.curl等,但是还是感觉scp最好用. SCP使用教程可参阅:http://www.jb51.net/article/70919.htm 但scp也存在着一些问题,每次都需要输入目标机的密码,需人为手动干预,这个就比较烦了,那么有没有可以自动进行界面交互的命令呢? 答案当然是:有: expect喽 except使用教程:https://www.cnblogs.com/lixigang/art…
由于要对客户方的快30个项目进行特别有顺序的重新启动,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的能够. 没有一段是能够正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自己主动登录的脚本.网上有非常多,但是都没有一个明确的说明,刚開始学习的人一般都是照抄.收藏.但是为什么要这么写却不知其然.本文用一个最短的样例说明脚本的原理. 脚本代码例如以下: ############################################## #!/usr/bin/expe…
系统: Ubuntu:16.04 安装expect: sudo apt-get update sudo apt-get install expect 脚本实例: //这一行告诉操作系统脚本里的代码使用哪一个shell来执行.这里的expect其实和linux下的bash.windows下的cmd是一类东西. #!/usr/bin/expect //set的功能是给参数赋值,这里设置的是超时时间,计时单位是:秒 .timeout -1 为永不超时 set timeout //expect脚本可以接…
说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务器 mkdir -p /backup/oracledata #新建Oracle数据库备份目录chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Orac…
Shell结合Expect自动输入密码示例 #!/bin/bash cd /data/live /usr/bin/expect <<-EOF spawn git clone "ssh://xxxxxxxxxxxx" expect "*passphrase*" send "passwordhere\n" expect eof EOF time=`/bin/date "+%Y%m%d%H%M%S"` cd dir1 &…
通过SVN进行版本库管理,每次提交后,都要在SVN服务器更新最新上传的版本到WEB目录进行同步.操作比较烦琐,而且效率也低.使用SVN钩子脚本进行WEB目录同步,可很好的解决这方面的问题.由于测试机器与SVN库都在同一台机器里,所以处理起来比较方便. svn项目下面有hooks目录,里面存放的是全部的钩子脚本的模板 post-commit.tmpl 为客户端commit提交后触发 以下是windows和linux下自动更新版本库的方法: 在SVN 项目版本库的存储目录下的hooks 目录,新建立…
在使用Windows下的QTCreator的时候,像visual studio一样代码自动补全十分方便,而在Linux下,QTCreator似乎不能做到. 网上有些说是可以设置成手动补全,今天试了一下,其实也可以设置成自动补全的. 手动补全设置: 工具->选项,打开对话框,选中环境->键盘Tab,在键盘快捷键,下的文本框中输入Comp,查询出CompleteThis,然后将默认的CTRL+空格(可能与输入法切换有冲突)改为你想要触发补全的键,比如Tab,Tab,然后是应用->确定,两次按…
Linux 下实现自动备份,主要就是编写好执行备份的 shell script( *.sh )文件,设好权限(可读,可执行).然后利用 Linux 定时任务 crontab 来执行备份脚本就可以了.以后备份其他文件也是这样的执行过程 创建自动备份的配置文本 # 数据库账号 db_user="****" # 数据库密码 db_passwd="**************" # 数据库名称 db_name="db_test" # 指定备份数据库存放目…
目录 在minicom中添加脚本路径 编写脚本 执行脚本 一个项目里要用的设备需要用串口来模拟传感器来测试,还是Linux下的. 串口助手cutecom很好用,但是不能定时发送数据. 所以用下面这个脚本的方法,但是注意该方法使用脚本里的sleep定时也是不准确的 出处: minicom 自动重复发送数据的实现 在minicom中添加脚本路径 -> minicom -> Ctrl+A->O -> 回车 ->选D- Script Program -> 设置为 /bin/ba…
最近遇到蛋疼的事,就是在shell脚本中需要获取root权限,因此在shell脚本运行过程中需要输入密码. 懒惰的我当然想让shell在执行过程中就可以自动输入密码,这样就可以抽空看看妹子图.. 我通过查询资料了解到,可以通过“ 重定向操作符 ” 将标准输入内容作为内容自动输入.但是这样需要用 -i 参数结束交互式输入 例如: sudo -i nginx < pwd 然后另建一个文件:pwd.内容为密码:1234.…
使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要存放脚本的目录和存放备份数据的目录 首先进行以下修改(因为在命令行或者脚本中写mysql密码,mysql是不允许的,备份会失败所以进行修改) vi /etc/my.cnf 修改 [mysqldump] user=你数据库的用户名 password=你数据库的密码 然后在存放脚本的目录下面(我使用的是…
一.概述 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expect就使用来实现这种功能的工具. Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.Expect的作者Don Libes在1990年 开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件 (Expect [is a]…
在Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认. 不过通过建立信任关系,可以实现不输入密码. 这里假设A的IP:192.168.10.1 B的IP:192.168.10.2 需要从A免密码输入复制文件至B. 1. 在主机A上执行如下命令来生成配对密钥: ssh-keygen -t rsa 按照提示操作,注意,不要输入passphrase.提示信息如下 Generating public/private rs…
#!/bin/bash expect <<EOF set timeout spawn rsync -avz root@192.168.10.57:/var/www/html/manage_chanpin /var/www/html/bak/ expect "password:" send "wintel\r" spawn rsync -avz root@192.168.10.57:/var/www/html/ekt_chanpin /var/www/ht…
    公司的开发环境每次部署项目都很麻烦,需要手动打包并上传上去.这个太麻烦了,所以就准备搞个自动打包的脚本.脚本自动从svn代码库里面更新最新的代码下来,然后maven打包,最后把war包丢到tomcat里面去.其实搞个Jenkins就完事了,但是还是想自己写个脚本玩玩,因此特意记录下自己写这些脚本的过程,方便后续查阅. 一.环境介绍         CentOs6.9 + svn + maven 二.编写maven打包脚本         这里先提一下,公司有个公共的框架项目framewo…
linux 7 下 安装 bash-completion 可以实现命令的参数的自动补齐…
1,环境:mysql+tomcat+linux 2,发现问题:连接池断开连接 No operations allowed after connection closed 连接池断开了,再进行连接就报错了 添加: <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value=&q…
有时候我们需要批量发送ssh命令给服务器,但是有可能有些服务器是新加入的,还没有配置ssh免密,这个时候就会提示我们输入yes/no 或者password等,expect脚本命令就是用于在提示这些的时候,自动为我们输入相应的文字 expect脚本 先看一段shell脚本,实现了ssh自动连接 #!/usr/bin/expect spawn ssh 192.168.1.241 expect "password" send "123456\r" expect "…
以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 文件内容: #将tomcat中的应用wfjb_web 复制到 /usr/local/wfjb_web_back/tomcat_back/目录下 并按照日期作为文件名称 cp -af /usr/local/apache-tomcat-7.0.73/webapps/wfjb_web /usr/local/wfjb_web_back…
1.安装expect yum install  expect expect相关知识--- https://blog.csdn.net/lufeisan/article/details/53488395 2.脚本 注意事项 1)脚本 第一行  #!/usr/bin/expect 表明该脚本用`/usr/bin/expect`这个shell对文件进行解析 2)send "123456\n" , 有些脚本,如上面的链接地址里 是写  send "123456\r" ,但是…
新建目录 mkdir -p /data/mysqlbal/data mkdir -p /data/mysqlbal/scripts mkdir -p /data/mysqlbal/logs 创建备份脚本 cd /data/mysqlbak/scripts vi backup.sh #!/bin/bash #备份目录 BACKUP_ROOT=/data/mysqlbak BACKUP_FILEDIR=$BACKUP_ROOT/data #当前日期 DATE=$(date +%Y%m%d) ####…
一.下载软件包 1.下载地址 wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz wget http://services.gradle.org/distributions/gradle-2.12-bin.zip 二.安装 1.java sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8…