小编tpa*_*ott的帖子

Python 脚本手动成功但在 crontab 上失败

所以我目前正在尝试让脚本工作,但是当我手动运行它时它的行为与我从 crontab 运行它时的行为不同。基本上,我有一个从一台服务器到另一台服务器的反向 ssh 隧道,为了验证我的隧道是否已启动,我:

  • 从服务器 A 到服务器 B 的 SSH
  • 从服务器 B 从服务器 A 获取测试 url
  • 如果 Wget 成功,我断开连接并且什么也不做
  • 如果 Wget 失败,我会断开连接并重新启动隧道

我知道有更优雅的方法来验证 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)

python cron

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

cron ×1

python ×1