FTP脚本在放置后保留文件的时间戳

时间:2010-06-02 18:59:45

标签: perl unix ftp timestamp

我知道FTP不支持传输和保留文件日期/时间戳 想知道是否有任何想法/脚本(Shell / perl)会在put操作后保留传输文件的时间戳?

3 个答案:

答案 0 :(得分:2)

您是否可以尝试在tar文件中传输文件?从.tar中提取后,时间戳将被恢复。

答案 1 :(得分:2)

ncftp/bin/ftp的标准升级。查看ncftpput的{​​{1}}选项:

  

-y尝试使用“SITE UTIME”来保留远程主机上的时间戳。没有多少远程FTP服务器支持此功能,因此可能无法正常工作。

您可能还可以放心,-y在很多平台上都很有效(包括Windows)

答案 2 :(得分:1)

  1. 一个选项是rcp -p。我确信还有一些等效的更安全的scp

  2. 正如Autocracy所指出的那样,如果可以的话,只需转发tar / zip /以其他方式归档文件,然后再转回。不幸的是,这并不总是有效 - 比如你没有对文件源服务器的控制/访问。

  3. 或者,在通过FTP“获取”文件后,使用Perl的utime()或Unix的touch命令将时间戳更改为正确的时间戳。

    需要注意的是,如果您将文件放到远程服务器上,则需要连接(ssh / telnet / rsh)以运行touch命令。有点麻烦而不是我推荐的,但即使是“放”也是有效的解决方案。