DEMO-shell跨服务器登陆自动输入用户密码远程执行脚本

适用模块

script节点

具体说明

经常会有需要远程登陆其他服务器执行一些脚本、启动一些程序的需求,这时我们可以使用 expect ,简单介绍下,expect 是由Don Libes基于Tcl( Tool Command Language )语言开发的,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率。

使用示例

首先需要安装,直接yum安装即可 yum -y install expect

下面是简单使用事例:

#!/bin/bash
#调用要执行的命令
spawn bash -c "scp /data/test.txt test@xxx.xxx.xxx.xx:/data/"

#等待命令提示信息的出现,也就是捕捉用户输入的提示
expect "password:"

#发送需要交互的值,提到了用户手动输入内容
send "1234\r"

了解更多可以参考 https://blog.csdn.net/Shiny0815/article/details/93881166

作者:李云龙