用Linux expect 实现远程自动登录服务器,并操作Linux命令

#!/bin/bash
############################
#去121服务器执行数据库脚本
############################
#Linux 自带expect 工具,可以自行安装
# \r 表示回车确认,得有
ServerUserPwd1="密码\r"
expect <<!
#设置远程连接的超时时间,-1 表示不会超时
set timeout -1
#远程连接 22 端口 服务器 10.0.18.1111
spawn ssh -p 22 10.0.18.121
expect "*password:"
#发送密码
send $ServerUserPwd1
#如果要操作远程操作Linux命令,expect "*]#" 表示命令的开始
expect "*]#"
#命令执行
#切换用户
send "su - oracle\r"
#用plsql执行写好的sql脚本,日记输出到Linux自带的 nohup 
send "nohup sqlplus bto_c2/oss @/opt/oracle/db11/sync_categorydtl_sql/exec_t.sql &\r"
#退出之前切换的用户
send "logout\r"
#操作完了以后退出远程
send "exit\r"
#命令结束表示
expect "*]#"
expect eof
!

转载于:https://www.cnblogs.com/utvic/p/7873916.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值