Linux之expect非交互式功能】的更多相关文章

我在上一篇博文linux之SSH密钥认证 提过ssh之间的相互认证,但是每次使用ssh登录到其它服务器还是要输入密码的. expect是用于提供自动交互的工具,自动连接被管理的服务器,不需要手动输入密码. 1.安装expect [root@mg ~]# yum install -y expect 2.编写expect脚本,直接分发SSH公钥,不用手工输入密码. vim /server/scripts/expect.exp #!/usr/bin/expect #-------------CopyR…
select 函数 int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval*timeout); fd_set * readfds 需要监视变化的文件描述符 只要有一个文件可读就返回>0 没有文件可读 超出timeout时间,返回=0 发生错误返回负值 传入NULL表示不关心任何文件 fd_set * readfds 需要监视变化的文件描述符 只要有一个文件可写就返回>0 没有文…
命令格式 wget [option]... [URL]... 命令参数 启动选项 -V, --version 打印版本信息 -h, --help 打印帮助信息 日志和输入文件选项 -o logfile, --output-file=logfile 将日志消息写入 logfile -a logfile, --append-output=logfile 将日志消息追加到 logfile -d, --debug 打开调试输出,打印调试信息 -q, --quiet 打开安静输出,不打印任何信息 -v,…
目录 1 SSH批量分发管理 1.1 测试环境 1.2 批量管理步骤 1.3 批量分发管理实例 1.3.1 利用sudo提权来实现没有权限的用户拷贝 1.3.2 利用sudo提权开发管理脚本 1.3.3 利用rsync来实现增量备份 1.4 SSH批量管理分发脚本实战 1.5 SSH批量管理总结 2 非交互式expect 2.1 非交互式生成密钥及实现批量管理 2.2 一键批量安装httpd服务 2.3 一键自动化50台规模集群网站 1 SSH批量分发管理 基于口令的,如何实现批量管理:expe…
一.概述 在Linux环境,有多种实现自己主动化的脚本语言.如Shell.Python.Perl.Tcl等. Shell语言因与Shell外壳结合紧密,是最常见的实现自己主动化的脚本语言. 同一时候,在Linux环境中存在大量功能单一的小工具--通常它们在指定输入后,马上就可获得输出,比如echo.cat等字符串/文本打印工具.又或者是如sed.awk等最经常使用的字符串编辑工具.通过编写Shell脚本,我们能够重复利用这些小工具来实现一些自己主动化的批处理. 在少数情况下,我们也须要用到一些交…
RHEL6非交互式工具sshpass和expect安装 1 sshpass 在rhel6.4上,没有sshpass的软件包,无法采用yum方式安装.从源码编译安装非常简单. 1) 下载sshpass源码: http://sourceforge.net/projects/sshpass/ 2) 编译安装 $  tar -zxf sshpass-1.05.tar.gz $ cd sshpass-1.05 $ ./configure $ make && make install 2 expect…
<学渣Linux笔记>--关于.bashrc与profile(涉及交互式与非交互式.登录与非登录shell) 1.基本概念(个人理解) 交互式shell:等待用户输入,并执行相应操作的shell 非交互式shell:读取存放在文件中的内容,并根据内容执行相应操作 login shell:需要用户输入用户名以及密码进行下一步操作 non-login shell:无需用户名及密码,运行时用户身份仅拥有低级操作权限(类似于临时工和正式员工的区别).例如:在email服务器上,non-login sh…
一.概述 我们通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expect就使用来实现这种功能的工具. Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预.Expect的作者Don Libes在1990年 开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件 (Expect [is a]…
交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tomcat web服务器,一边是数据库服务器,两者怎么通信?在java web里,我们通常会选择hibernate或者是jdbc来连接.那么这时候就是非交互式操作. 参考:MySQL中 timeout相关参数解析 http://www.cnblogs.com/cenalulu/archive/2012/…
shell脚本分为三类:登录脚本.交互式脚本.非交互式脚本 一. 登录脚本类似于windows下的计算机设置中的登录脚本和账户设置下的登录脚本的合集(我是这么理解的哈). 其配置文件的关键词为prefile,它有以下几个关键配置文件: /etc/prefile 这个是计算机脚本; [$home/.prefile ; $home/.bash_prefile ; $home/.bash_login]这三个是账户脚本,根据不同发行版名字不同(坑爹的linux) ; 说明:/etc/prefile之所以…