所以我目前正在尝试让脚本工作,但是当我手动运行它时它的行为与我从 crontab 运行它时的行为不同。基本上,我有一个从一台服务器到另一台服务器的反向 ssh 隧道,为了验证我的隧道是否已启动,我:
我知道有更优雅的方法来验证 ssh 隧道(如 autossh 和 ServerKeepAlive),但对于策略和冗余问题,我必须以这种方式做事。无论如何,这是脚本:
from __future__ import print_function
from __future__ import absolute_import
import os, sys, subprocess, logging, pexpect
COMMAND_PROMPT = '[#$] '
TERMINAL_PROMPT = '(?1)terminal type\?'
TERMINAL_TYPE = 'vt100'
SSH_NEWKEY = '(?i)are you sure you want to continue connecting'
SERVERS = [{address':'192.168.100.10', 'connString':'ssh user@192.168.100.10', 'testGet':'wget http://192.168.100.11/test.html -t 1 -T 10', 'tunnel':'start_tunnel'}, {address':'192.168.100.12', 'connString':'ssh user@192.168.100.12', 'testGet':'wget …Run Code Online (Sandbox Code Playgroud)