在作为CRON工作时,脚本中的SCP无法正常工作

时间:2013-10-28 13:16:41

标签: unix ssh cron scp sunos

我在远程服务器(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。

我已经为类似的问题阅读了很多不同的解决方案,但没有找到任何解决方案。

这一直是我遇到的最烦人的问题。任何帮助都将非常感激!

1 个答案:

答案 0 :(得分:0)

通过cron执行作业时,您不会保留您的环境。如果您已经以拥有cron脚本的用户身份登录到远程服务器,那么为了诊断,您可能希望尝试通过at命令运行相同的脚本,而不是这样。

如果您已将命令放在名为my_script的可执行脚本中,请执行以下命令

at -f my_script 0936.00 将在9小时36分钟执行命令my_script。如果可行的话,你会知道在cron中你缺少环境的一些重要组成部分。