zoukankan      html  css  js  c++  java
  • linux-ssh远程后台执行脚本-放置后台执行问题(转)

    写了一个监控负载的小脚本(死循环,测试结束后再kill对应进程),因需要监控多台服务器,所以在一台服务器上使用ssh统一执行脚本

    遇到问题
    使用ssh root@172.16.146.20 '/usr/local/luly/loadavg.sh 2 2 &'执行
    本机没有即时退出,占用ssh连接
    本意是发送命令到远程机执行,本机发送后直接退出

    尝试:
    1、增加nohup,效果相同:
    ssh root@172.16.146.20 'nohup /usr/local/luly/loadavg.sh 2 2 &'

    2、增加网络上说的-t 、 -tt 参数,也没有用
    ssh -t root@172.16.146.20 '/usr/local/luly/loadavg.sh 2 2 &'
    ssh -tt root@172.16.146.20 '/usr/local/luly/loadavg.sh 2 2 &'

    3、去掉引号,本机也在后台运行,占用ssh连接,必须手动kill才行,非我所想
    ssh root@172.16.146.20 /usr/local/luly/loadavg.sh 2 2 &

    最终解决方案:
    增加>/dev/null 2>&1,本机即时退出,没有进程遗留,远程后台执行脚本,达到目的
    ssh root@172.16.146.20 '/usr/local/luly/loadavg.sh 2 2 >/dev/null 2>&1 &'

    监控负载脚本:

    # cat loadavg.sh
    #!/bin/bash
    USAGE="Usage: $0 second filename"
    
    if [ $# -ne 2 ]; then
       echo $USAGE
       exit 1
    fi
    
    > /tmp/monitor/loadavg/146.20_loadavg_$2.log
    
    while [[ 1=1 ]]
    do
            uptime >> /tmp/monitor/loadavg/146.20_loadavg_$2.log
            sleep $1
    done
  • 相关阅读:
    汇编讲解(上)--逆向开发
    两数之和 II
    解析器模式--设计模式
    访问者模式--设计模式
    命令模式--设计模式
    ccf-201512-2 消除类游戏
    ccf-201503-2 数字排序
    移动端兼容和适配问题
    ccf-201409-2 画图
    ccf-201409-3 字符串匹配
  • 原文地址:https://www.cnblogs.com/vijayfly/p/6264744.html
Copyright © 2011-2022 走看看