使用 scp 时出错

使用 scp 时出错

我在 shell 脚本中使用“scp”命令。如果该命令不起作用,我该如何获取错误日志。

这就是我的使用方式scp file username@servername:/specificdirectory/

答案1

如果在运行时遇到错误scp,请尝试ssh首先对服务器执行操作,默认情况scp下不会优雅地处理新密钥,并且ssh错误报告更加冗长。

要获取正在发生的事情的更详细日志,请尝试使用以下命令运行它-v

scp -v 文件用户名@服务器名称:/特定目录/

您还必须记住,以 开头的路径/是绝对路径,而不是相对于您的主目录的路径,因此您可能需要尝试:

scp 文件 用户名@服务器名称:特定目录/

答案2

获取调试输出的一个好方法bash是使用set -x。通常,任何结果都将输出到STDOUT 或 STDERR。如何捕获该信息取决于脚本的执行方式。根据重击(1)手册页:

      -x      After  expanding each simple command, for command, case
              command, select command,  or  arithmetic  for  command,
              display the expanded value of PS4, followed by the com-
              mand and its  expanded  arguments  or  associated  word
              list.

答案3

通常,unix 环境中的程序会将错误写入标准错误输出。因此您可以像这样执行命令:

scp -v file username@servername:/specificdirectory/ 2> scp_error.log   

相关内容