Unix 作为CRON作业运行时脚本中的SCP不工作

Unix 作为CRON作业运行时脚本中的SCP不工作,unix,ssh,cron,scp,sunos,Unix,Ssh,Cron,Scp,Sunos,我在远程服务器(bServer)上有一个脚本,SSH连接到一个中央服务器(lets call是cServer),并将一个脚本踢到另两个服务器(server13/server14),在这些服务器上运行一个脚本,生成一个文件 我已将DSA SSH的密钥从cServer设置为server13/14。然后cServer将从server13/14中提取生成的文件,然后bServer将从cServer中提取它们 当手动运行时,此功能非常有效 然而。。。当我在CRON中的bServer上调度作业时,serve

我在远程服务器(bServer)上有一个脚本,SSH连接到一个中央服务器(lets call是cServer),并将一个脚本踢到另两个服务器(server13/server14),在这些服务器上运行一个脚本,生成一个文件

我已将DSA SSH的密钥从cServer设置为server13/14。然后cServer将从server13/14中提取生成的文件,然后bServer将从cServer中提取它们

当手动运行时,此功能非常有效

然而。。。当我在CRON中的bServer上调度作业时,server14中的文件不会拉入csserver

更有趣的是:当对server14的ssh或scp命令出现在同一个脚本中时,server13中的文件不会从cServer传输到bServer

如果我在单独的脚本中使用它们,server13文件将返回到bServer,但server14的文件只是生成的,根本不会传输回cServer

server13和server14都运行相同版本的SunOS

我读过很多类似问题的不同解决方案,但没有找到任何解决方案


这一定是我遇到的最烦人的问题了。任何帮助都将不胜感激

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

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

at-f my_脚本0936.00
将在9小时36分钟执行命令my_脚本。如果这样做有效,您将知道在cron中您缺少了环境的一些基本组件。

您应该继续询问,但我记得如果您想在脚本中使用scp,您必须复制服务器上的公钥。您能为正在运行的作业提供crontab条目吗?