用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
!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM