expect
Expect是一个用来处理交互的命令。它可以模拟键盘输入文本,省去人工干预交互式的指令。
整体来说大致的流程包括:
运行程序
程序要求人的判断和输入
Expect 通过关键字匹配
根据关键字向程序发送符合的字符串
代码例子如下:在Shell中引用expect,自动登陆ssh localhost,自动回复yes回车继续执行。
1 |
|
为了生存, 为了私利,
争斗才是人类历史的主旋律!
Expect是一个用来处理交互的命令。它可以模拟键盘输入文本,省去人工干预交互式的指令。
整体来说大致的流程包括:
运行程序
程序要求人的判断和输入
Expect 通过关键字匹配
根据关键字向程序发送符合的字符串
代码例子如下:在Shell中引用expect,自动登陆ssh localhost,自动回复yes回车继续执行。
1 | #!/bin/bash |
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
-d 指定不将 IP 地址解析到主机名称。
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。
-w timeout 等待 timeout 为每次回复所指定的毫秒数。
target_name 目标主机的名称或 IP 地址。
oracle:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
sql developer
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
PL/SQL Developer
http://files.allroundautomations.com/plsqldev1207x64.msi
## 通过wget下载,首先需要用chrome 登陆下载Oracle安装包,然后通过chrome查看下载内容获取下载连接地址, 这个地址包含AuthParam,这个值是变的
## Oracle Database 12c Release 2 (12.2.0.1.0) for Linux x86-64 (cksum - 4170261901)
wget "http://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_database.zip?AuthParam=1531550179_0b36f7a93d74a319d16d912549e8f200" -O linuxx64_12201_database.zip
## 或者
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_database.zip?AuthParam=1531550179_0b36f7a93d74a319d16d912549e8f200"
## Oracle Database 12c Release 2 Grid Infrastructure (12.2.0.1.0) for Linux x86-64 (cksum - 1523222538)
wget "http://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_gsm.zip?AuthParam=1531550996_aafa7bf31f418173242a4d5220592b4b"
## Oracle Database Gateways 12c Release 2 (12.2.0.1.0) for Linux x86-64 (cksum - 2671223080)
wget "http://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_gateways.zip?AuthParam=1531551201_626b9d693e0e19eaa903a50d34774984"
## Oracle Database 12c Release 2 Examples (12.2.0.1.0) for Linux x86-64
wget "http://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_examples.zip?AuthParam=1531551390_b6f3aa6b20993c7afabe834d72459cc9"
## 解压
yum install -y zip unzip
mkdir /data/install
unzip linuxx64_12201_database.zip -d /data/install/
openssl genrsa -out /etc/haproxy/server.key 2048
openssl req -new -key /etc/haproxy/server.key -out /etc/haproxy/server.csr
openssl x509 -req -days 3655 -in /etc/haproxy/server.csr -signkey /etc/haproxy/server.key -out /etc/haproxy/server.crt
## 以上三步合为一步操作
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/haproxy/server.key -out /etc/haproxy/server.crt
## 除了cn需要输入网站名,其它可以随意输入
## openssl: 这是OpenSSL提供的基本命令行工具,用于创建和管理证书,密钥,签名请求等。
## req: 这指定了X.509证书签名请求(CSR)管理的子命令。X.509是SSL为其密钥和证书管理所遵循的公钥基础结构标准。由于我们想要创建一个新的X.509证书,这就是我们想要的。
## -x509: 此选项指定我们要创建自签名证书文件,而不是生成证书请求。
## -nodes: 此选项告诉OpenSSL我们不希望使用密码来保护我们的密钥文件。拥有受密码保护的密钥文件会妨碍Apache自动启动,因为每次服务重新启动时都必须输入密码。
## -days 365: 这指定我们创建的证书有效期为一年。
## -newkey rsa:2048:此选项将同时创建证书请求和新私钥。这是必要的,因为我们没有提前创建私钥。该rsa:2048告诉OpenSSL生成RSA密钥是2048位。
## -keyout: 此参数为正在创建的私钥文件命名输出文件。
## -out: 此选项为我们生成的证书命名输出文件。
## pem文件本质上只是将证书、密钥及证书认证中心证书(可有可无)拼接成一个文件
cat /etc/haproxy/server.crt /etc/haproxy/server.key | tee /etc/haproxy/server.pem