我在远程服务器(bServer)上有一个脚本,SSH到中央服务器(让我们调用cServer)并踢出一个脚本,进一步将SSH连接到另外两个服务器(server13 / server14),每个服务器运行一个脚本这些生成文件的服务器。
我从DSServer到server13 / 14设置了DSA SSH密钥。然后,cServer将从server13 / 14中提取生成的文件,然后bServer将从cServer中提取它们。
手动运行时效果非常好。
然而......当我在CRON中的bServer上安排作业时,来自server14的文件不会被拉到cServer上。
以下是更有趣的内容:来自server13的文件在同一脚本中存在对server14的ssh OR scp命令时,不会从cServer转移到bServer。
如果我将它们放在单独的脚本中,server13文件会恢复到bServer,但server14的文件只是PRODUCED,而不是全部传回cServer。
server13和server14都运行相同版本的SunOS。
我已经为类似的问题阅读了很多不同的解决方案,但没有找到任何解决方案。
这一直是我遇到的最烦人的问题。任何帮助都将非常感激!
答案 0 :(得分:0)
通过cron执行作业时,您不会保留您的环境。如果您已经以拥有cron脚本的用户身份登录到远程服务器,那么为了诊断,您可能希望尝试通过at命令运行相同的脚本,而不是这样。
如果您已将命令放在名为my_script的可执行脚本中,请执行以下命令
at -f my_script 0936.00 将在9小时36分钟执行命令my_script。如果可行的话,你会知道在cron中你缺少环境的一些重要组成部分。