>我在远程服务器(bServer)上有一个脚本,SSH到中央服务器(让我们调用是cServer)并踢一个脚本,该脚本将SSH进一步发送到另外2个服务器(server13/server14),在这些服务器上运行一个脚本,生成一个文件。
我有DSA SSH的密钥从cServer设置为服务器13/14.cServer将从server13/14中提取生成的文件,然后bServer将从cServer中提取它们。
手动运行时,这非常有效。
然而。。。当我在 CRON 中的 bServer 上安排作业时,来自 server14 的文件没有被拉到 cServer 上。
这是更有趣的:当ssh OR scp命令到server14时,来自server13的文件不会从cServer传输到bServer,当ssh OR scp命令存在于同一个脚本中时。
如果我将它们放在单独的脚本中,server13 文件可以很好地返回到 bServer,但 server14 的文件只是 PRODUCE,根本不会传输回 cServer。
server13 和 server14 都运行相同的 SunOS 版本。
我已经阅读了这么多针对类似问题的不同解决方案,但没有找到任何解决方案。
这一定是我遇到过的最烦人的问题。任何帮助将不胜感激!
通过 cron 执行作业时,您不会保留您的环境。如果您已经以拥有 cron 脚本的用户身份登录到远程服务器,则出于诊断目的,您可能希望尝试通过 at 命令运行相同的脚本,而该命令确实如此。
如果已将命令放入名为 my_script 的可执行脚本中,则以下命令
在 -f my_script 0936.00将在 9 小时 36 分钟my_script执行命令。如果这有效,您将知道在 cron 中您缺少环境的一些基本组件。