ssh远程执行命令脚本(结合ssh反向映射使用)
工作中,有时候遇到ssh反向映射断开的情况。每次需要手动登录机器执行映射脚本
而如果把映射脚本改成每隔60秒自动映射,不管是否已经处于映射状态也会出问题。
现在准备好脚本,能够判读映射是否存在。如果映射已经存在就不映射,如果映射不存在那么映射下。
脚本内容如下,脚本名是伪装成tomcat相关的(特殊需求)。
粗糙点的脚本如下
[root@linux-node2 scripts]# cat tomcat_profile.sh
#!/bin/bash
while true
    do
    PORTED=`ssh portmap@10.0.3.161 -p 22 "lsof -i:33001" |wc -l`
    if [ $PORTED -eq 0  ];then
      echo hehe
      source /scripts/tomcat_profile
      sleep 10
    else
      sleep 20
    fi 
    done
优雅点如下
[root@linux-node2 scripts]# cat tomcat_profile.sh.bak 
#!/bin/bash
RE_SSH_PORT=22
RE_PORT=33001
RE_SSH_USER=portmap
RE_SSH_IP=10.0.3.161
SCRIPT_HOME=/scripts
while true
    do
    PORTED=`ssh $RE_SSH_USER@$RE_SSH_IP -p $RE_SSH_PORT "lsof -i:$RE_PORT" |wc -l`
    if [ $PORTED -eq 0  ];then
      echo hehe
      source ${SCRIPT_HOME}/tomcat_profile
      sleep 10
    else
      sleep 20
    fi 
    done
[root@linux-node2 scripts]# 
然后通过下面命令加入死循环
nohup sh tomcat_profile.sh >/dev/null 2>&1 &
                    
                
                
            
        
浙公网安备 33010602011771号