CURL SFTP - 如何在下载时保留最后修改日期

CURL SFTP - How to preserve the last modified date while downloading

我正在尝试从另一台服务器下载文件,但我还需要获取文件的最后修改日期或最后时间戳。我使用 curl sftp 这样我就不必在每次 运行 时都输入我的密码,而且我还将 运行 perl 程序中的 curl 命令。

在 SFTP 中,我可以通过执行以下命令来保存它:get -p filename.txt

在我的 curl 命令中,这是我所做的:

curl -v -R -u user:userpass sftp://ip.add.re.ss:port/host/path/name/filename.txt > filename.txt 

但是每当我 运行 这个命令时,时间戳总是更新。

有人可以帮我下载文件并保留最后修改的日期和时间吗?

-R 不适用于 > 它需要 -o

curl -R -o filename.txt -u user:userpass sftp://ip.add.re.ss:port/host/path/name/filename.txt

当你使用 > 时,这并不是真正的 curl 命令,它是你的 shell 的命令,它告诉你的 shell 将 curl 的输出保存到一个文件,而你的shell 不懂-R。但是 -o 告诉 curl 将输出保存到文件而不是打印文件,并且 curl 理解 -R