gpt4 book ai didi

linux - 如何确认 SFTP 文件传送?

转载 作者:IT王子 更新时间:2023-10-29 01:00:35 25 4
gpt4 key购买 nike

我正在使用 SFTP 和非 root 用户的公钥发送文件,看起来文件已发送,但我无法在目标文件夹中找到它,可能是由于权限问题。

sftp> ls
sftp> put /tmp/testx
Uploading /tmp/testx to /folder1/target_folder
/tmp/testx 100% 5 0.0KB/s 00:01
sftp> get testx
Couldn't stat remote file: No such file or directory
File "/folder1/target_folder/testx" not found.
sftp> ls
sftp>

这是 -vvv :

debug3: SSH_FXP_REALPATH . -> /folder1
debug3: Looking up /tmp/file_to_send
debug3: Sent message sender_host 4 T:17 I:2
debug3: Wrote 80 bytes for a total of 2653
debug3: Received stat reply T:105 I:2
debug3: Sent message SSH2_FXP_OPEN I:3 P:/folder1/target_directory/file_to_send
debug3: Wrote 112 bytes for a total of 2765
debug3: Sent message SSH2_FXP_WRITE I:4 O:0 S:6206
debug3: Wrote 6288 bytes for a total of 9053
debug3: SSH2_FXP_STATUS 0

目标目录

 drw-rw-rw-    1  0   0       target_directory

如何在没有服务器访问权限的情况下确保文件已交付?

最佳答案

您所能做的就是在上传文件时检查没有错误。这就是 SFTP 服务器为您提供的所有信息。

使用命令行 OpenSSH sftp 客户端,您可以检查其退出代码(您需要使用 -b 开关)。

echo "put file.txt" | sftp -b - user@host
if [ $? -eq 0 ]
then
echo "File uploaded"
else
echo "File NOT uploaded"
fi

另见 How to perform checksums during a SFTP file transfer for data integrity?


SFTP 服务器很可能不允许您下载刚刚上传的文件。

这种行为有两个常见原因:

  • 公共(public)“上传”目录。这是为了防止您下载其他用户的文件。
  • 有一些进程会立即选择上传的文件进行某些处理。

关于linux - 如何确认 SFTP 文件传送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28223890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com