代码:
try:
ajoLogi.ajoLogi("Onko tiedosto "+dst+" jo palvelimella", "Stat")
stat = sftpClient.stat(dst)
print(stat)
if stat.st_mtime != 0 :
leima = datetime.fromtimestamp(stat.st_mtime)
ajoLogi.ajoLogi("Tiedoston aikaleima:"+leima.strftime('%Y-%m-%d %H:%M:%S'), "Stat")
else :
ajoLogi.ajoLogi("Tiedoston aikaleima on nolla", "Stat")
continue
结果:
^{pr2}$文件在目标sftp服务器上不存在-预期结果为异常。
同一段代码和我的测试服务器一如预期的那样工作,会抛出一个异常。另外,stat对于现有的文件也会返回同样暗淡的结果。原始文件已通过相同的用户id和相同的脚本传输到目标sftp服务器。在
你知道这里发生了什么吗?我该怎么做?
除了使用的低访问sftp帐户之外,我没有任何其他访问目标服务器的权限。使用手动sftp命令尝试同一个帐户,表明文件不在那里,并且允许放置和删除文件。在
部分解
导致问题的服务器是:“SSH-2.0-6.4.10.264 SSH-Tectia-server”,它要求所有路径都是绝对路径,即以“/”开头。否则一切都会失败。在
对于“SSH-2.0-6.4.7.204 SSH-Tectia Server”,我测试的服务器要求所有路径都是相对的,否则一切都会失败。在
后者对绝对路径的作用-根据Windows应用程序日志:
2016 Sft_server_stat_file_failed, "2016 Sft_server_stat_file_failed,
File name: /7120/in/FPVI4170.ERI, "Error: Permission denied",
Session-Id: 8745309"
以及相对路径:
2015 Sft_server_stat_file, "2015 Sft_server_stat_file,
File name: \\xxxxx.yyyy.local\files\user.name\7120\in\FPVI4170.ERI,
"Success", Session-Id: 8745716"
当路径没有找到时,您尝试stat,那么两个服务器版本将返回相同的伪stat信息(见上文)。在
我个人为有用的错误消息欢呼:“Permission denied”它与stat命令返回的内容一致。如果事件日志破坏了寻找失败真正原因的乐趣,那将是绝对可怕的。在
目前没有回答
相关问题 更多 >
编程相关推荐