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 ]; then
echo $USAGE
exit
fi
echo "start"
ssh 192.168.146.239 /usr/local/chenjinyu/monitor/monitorResource.sh $ $
echo ""
sh /usr/local/chenjinyu/monitor/monitorResource.sh $ $
echo ""
ssh 192.168.146.4 /usr/local/chenjinyu/monitor/monitorResource.sh $ $
echo ""
ssh 192.168.146.188 /usr/local/chenjinyu/monitor/monitorResource.sh $ $
echo "" ssh 192.168.146.20 /usr/local/chenjinyu/monitor/monitorResource.sh $ $
echo ""

思考:

加入调试代码,发现第一条的监控可以完整结束,但是跳不出来。猜想是不是要加入跳出当前脚本执行的命令

尝试:

查资料可以加-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 ]; then
echo $USAGE
exit
fi echo "start"
ssh 192.168.146.239 /usr/local/chenjinyu/monitor/monitorResource.sh $ $ &
echo "" sh /usr/local/chenjinyu/monitor/monitorResource.sh $ $ &
echo "" ssh 192.168.146.4 /usr/local/chenjinyu/monitor/monitorResource.sh $ $ &
echo "" #ssh 192.168.146.188 /usr/local/chenjinyu/monitor/monitorResource.sh $ $ &
echo "" ssh 192.168.146.20 /usr/local/chenjinyu/monitor/monitorResource.sh $ $ &
echo ""

Linux:ssh远程执行命令并自动退出的更多相关文章

  1. ssh远程执行命令并自动退出(已测试通过)

    转自:http://blog.csdn.net/fdipzone/article/details/23000201 ssh命令格式如下: usage: ssh [-1246AaCfgKkMNnqsTt ...

  2. ssh远程执行命令并自动退出

    usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [ ...

  3. SSH远程执行命令环境变量问题

    SSH命令格式 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  4. 解决SSH远程执行命令找不到环境变量的问题

    通过SSH执行远程主机的命令或脚本时,经常会出现找不到自定义环境变量的问题.但是,如果通过SSH登录远程主机,然后再执行相同的命令或脚本,那么此时执行又是成功的.两种相似的方法,得到的结果却截然不同, ...

  5. [转帖]ssh 远程执行命令

    ssh 远程执行命令 https://www.cnblogs.com/youngerger/p/9104144.html SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是 ...

  6. 网络编程 - 1.简单的套接字通信/2.加上通信循环/3.bug修复/4.加上链接循环/5.模拟ssh远程执行命令

    1.简单的套接字通信 服务端 ''' 服务端 接电话 客户端 打电话 1.先启动服务端 2.服务端有两种套接字 1.phone 用来干接收链接的 2.conn 用来干收发消息的 ''' import ...

  7. 利用scp 远程上传下载文件/文件夹和ssh远程执行命令

    利用scp传输文件 1.从服务器下载文件scp username@servername:/path/filename /tmp/local_destination例如scp codinglog@192 ...

  8. ssh远程执行命令使用明文密码

    经过不懈的搜索终于找到ssh远程执行命令使用明文密码使用sshpass. 例子: sshpass -p "sequoiadb" ssh root@localhost "l ...

  9. 模拟ssh远程执行命令,粘包问题,基于socketserver实现并发的socket

    06.27自我总结 1.模拟ssh远程执行命令 利用套接字编来进行远程执行命令 服务端 from socket import * import subprocess server = socket(A ...

随机推荐

  1. BestCoder Round #85 hdu5777 domino

    domino 题意: 问题描述 小白在玩一个游戏.桌子上有n张多米诺骨牌排成一列.它有k次机会,每次可以选一个还没有倒的骨牌,向左或者向右推倒.每个骨 牌倒下的时候,若碰到了未倒下的骨牌,可以把它推倒 ...

  2. ADO.NET(完整修改和查询、实体类,数据访问类)

    一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...

  3. 0811 css样式表基本

    CSS(Cascading Style Sheets,层叠样式表),作用是美化HTML网页. /*注释*/    注释语法 1. 样式表分类 ①内联样式表 和html联合显示,控制精确,但是可重用性差 ...

  4. PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

    这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   笔者的开发环境如下:Windows8.1+Apache+P ...

  5. 树莓派+qt+opencv

    树莓派:Qt开发套件和opencv安装sudo apt-get install qt4-dev-tools libqt4-dev 不用qt core 的话,其实只要按照 qt4-qmake就行了(只做 ...

  6. affine transformation matrix 仿射变换矩阵 与 OpenGL

    变换模型是指根据待匹配图像与背景图像之间几何畸变的情况,所选择的能最佳拟合两幅图像之间变化的几何变换模型.可采用的变换模型有如下几种:刚性变换.仿射变换.透视变换和非线形变换等,如下图: 参考: ht ...

  7. POJ 2104 【主席树】【区间第K大】

    #include<stdio.h> #include<algorithm> #include<string.h> #define MAXN 100010 #defi ...

  8. Rolling Cursor Invalidations with DBMS_STATS.AUTO_INVALIDATE (文档 ID 557661.1)

      Rolling Cursor Invalidations with DBMS_STATS.AUTO_INVALIDATE (文档 ID 557661.1) 转到底部 In this Documen ...

  9. 下载和使用 Open XML PowerTools

    安装 Open XML SDK 2.5 首先,需要安装 Open XML SDK 2.5 ,从这个地址下载安装程序:http://www.microsoft.com/en-in/download/de ...

  10. 一道 JavaScript 面试题

    有一道 JavaScript 面试题. f = function () { return true; }; g = function () { return false; }; (function() ...