我正在将文件从不同服务器的集合上传到一个数据服务器。我正在使用psftp,20多个服务器中的一个正在产生权限问题。
Remote working directory is /
psftp> cd Remote_Directory\
Remote directory is now /Remote_Directory/
psftp> put C:\folders\containing\file\FILE.zip
/Remote_Directory/: open for write: failure
psftp> quit
它似乎是远程目录上的权限问题,但是,为什么我只在一台服务器上遇到问题?所有20多台服务器上的批次完全相同。
答案 0 :(得分:4)
PUT命令需要在目标位置末尾添加文件名。
请尝试以下代码
put C:\folders\containing\file\FILE.zip /Remote_Directory/FILE.zip
答案 1 :(得分:0)
错误消息中的路径是psftp尝试创建的远程文件的确切路径。请参阅以下代码段中的outfname
:
req = fxp_open_send(outfname,
SSH_FXF_WRITE | SSH_FXF_CREAT | SSH_FXF_TRUNC,
&attrs);
...
printf("%s: open for write: %s\n", outfname, fxp_error());
由于路径显然不正确(缺少文件名),似乎psftp以某种方式感到困惑。我相信这可能是由于您在cd
命令中使用了错误的(反向)斜杠。
尝试cd Remote_Directory/
。
答案 2 :(得分:0)
就我而言,这是远程服务器上的权限问题,即,您用于登录的帐户没有对远程文件夹的写权限。