ssh中exit命令退出远程服务器_Linux:ssh远程执行命令并自动退出
ssh命令格式:
[root@localhost ~]# ssh --help
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]
主要參數說明:
-l 指定登入用戶
-p 設置端口號
-f 后臺運行,并推薦加上 -n 參數
-n 將標準輸入重定向到 /dev/null,防止讀取標準輸入
-N 不執行遠程命令,只做端口轉發
-q 安靜模式,忽略一切對話和錯誤提示
-T 禁用偽終端配置
準備工作:
兩臺服務器之間設置信任關系,具體步驟詳見:http://www.cnblogs.com/channy14/p/4644765.html
出現問題的情景:
性能測試時,有5臺服務器需要監控負載、io等信息,想在其中一臺服務器上執行ssh統一運行5臺服務器上的監控腳本(5臺服務器上都已存放監控腳本),運行主allmonitor.sh腳本的時候只能ssh遠程執行一條。以下為allmonitor.sh腳本內容:
#!/bin/bash
USAGE="Usage: $0 間隔時間(單位秒) 結果保存到的文件名"
if [ $# -ne 2]; then
echo $USAGE
exit1fi
echo"start"ssh192.168.146.239 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2echo"239"sh/usr/local/chenjinyu/monitor/monitorResource.sh $1 $2echo"11"ssh192.168.146.4 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2echo"4"ssh192.168.146.188 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2echo"188"ssh192.168.146.20 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2echo"20"
思考:
加入調試代碼,發現第一條的監控可以完整結束,但是跳不出來。猜想是不是要加入跳出當前腳本執行的命令
嘗試:
查資料可以加-t參數,虛擬出一個終端,將【ssh 192.168.146.239 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2】改為:==>【ssh -t 192.168.146.239 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2】
成功的方案:
在命令末尾加&,遠程后臺運行。
#!/bin/bash
USAGE="Usage: $0 間隔時間(單位秒) 結果保存到的文件名"
if [ $# -ne 2]; then
echo $USAGE
exit1fi
echo"start"ssh192.168.146.239 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2 &echo"239"sh/usr/local/chenjinyu/monitor/monitorResource.sh $1 $2 &echo"11"ssh192.168.146.4 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2 &echo"4"#ssh192.168.146.188 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2 &echo"188"ssh192.168.146.20 /usr/local/chenjinyu/monitor/monitorResource.sh $1 $2 &echo"20"
總結
以上是生活随笔為你收集整理的ssh中exit命令退出远程服务器_Linux:ssh远程执行命令并自动退出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个人会python能做什么_利用Pyt
- 下一篇: php查询mysql表里的数据_php查