用expect做自动运行脚本】的更多相关文章

下面的脚本演示了在Ubuntu上安装expect,写一个切换用户的expect脚本,并运行脚本看到效果的过程. root@guserver:~# apt-get install expect godu@guserver:~$ cat su.exp #!/usr/bin/expect set timeout 20 set user [lindex $argv 0] set password [lindex $argv 1] spawn su $user expect "Password:"…
Expect是一个用来实现自动交互功能的软件套件 (Expect [is a] software suite for automating interactive tools).使用它系统管理员可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的. Expect则可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行. 需要安装expect.tcl包: yum install expect tcl…
跳板 假设有这样一个场景,有一个局域网内网网关是1.1.1.1,局域网里的主机1是kali,它经过一个防火墙连接到公网,主机2和主机3在另一个内网网关为2.1.1.1的局域网,由于防火墙做了设置,只有主机2可以通过防火墙连接到公网,主机3无法通过防火墙连接到公网,但是主机2和主机3是互联的.两个局域网可以通过公网的路由相互连接. 防火墙1设置了端口映射规则,将防火墙的4444端口映射到主机1的4444端口,当主机1侦听本机的4444端口时相当于侦听防火墙的4444端口 主机1已经获得了主机2的s…
测试环境:CentOS6.5 管理员:root 普通用户:test1 实现目标:在Linux启动时,以普通用户test1自动运行位于根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下: from datetime import datetime now=datetime.now() f=open('test.log','a') f.write('%s '%now) f.close() Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,…
1. 说明 在编写脚本时,可能会遇到需要在另一台主机上执行一个命令,或者在本机拷贝另一台主机内的一个文件.如果两台主机之间没有做互信,就会牵扯到用户输入密码的交互过程,这对编写自动脚本来说, 就行不通了. 要实现在脚本内的自动交互,就需要 expect 2.  expect 命令介绍 expect 是一个用来处理交互的命令.借助 expect 可以将交互过程写在一个脚本里,就可以实现自动化完成.上面的问题也能得到解决. 形象来说,如下命令的交互都能得到解决: ssh scp ftp CentOS…
Django搭建的服务器一般都用作WEB网站进行访问,通常的形式是用户访问网站或点击按钮发送请求,Django检测到请求后进行相应的试图函数处理后返回页面给用户. 但是,我们有时会需要有一些后台自动运行的任务,即使没有用户请求时也要自动运行,或者是定时运行或者是不断运行,怎么做呢?这里用到一个模块APScheduler这样的一个库,我们需要先安装一下.这里用的是2.1.2的版本,现在已经最新版升级到3.x.x,两种版本有较大不同.向学习3版本的,请看另一篇博客:Python APSchedule…
大家好,我是良许. 在工作中,我们经常有个需求,那就是在系统启动之后,自动启动某个脚本或服务.在 Windows 下,我们有很多方法可以设置开机启动,但在 Linux 系统下我们需要如何操作呢? Linux 下同样可以设置开机启动,但可能需要我们敲一些命令(可能也有 UI 界面的设置方法,但我不熟,我更多是玩命令).下面我们就介绍三种简单但可行的开机启动设置方法. 方法一:修改 /etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都…
开发「bufpay.com 个人即时到账收款平台」的时候,订单状态和支付二维码的状态如果过期了要实时修改状态,最大效率利用支付二维码. 过期脚本需要开机启动,并且 deamon 运行,有很多办法可以开机运行脚本,比如修改 /etc/rc.local 脚本,或者把程序移动到 /etc/init.d 下面 或者通过 supervisord 都可以. 考虑到因为有其他脚本需要用到 crontab 为了方便一处管理,就通过 crontab 来实现开机启动,只需要用一下指令: @reboot nohup…
<?php ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); //执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*5; //每隔5分钟运行 do{ $fp= fopen("test.txt","a"); fwrite($fp,"/r/n".date('…
pass.sh ------------------------ #!/bin/bashecho start /usr/bin/expect <<EOFset timeout 10spawn sudo suexpect "password for wadi:"send "1\n"expect "*#"send "cd ~\r"expect "*#"send "/home/wadi/sh…