我知道FTP不支持传输和保留文件日期/时间戳 想知道是否有任何想法/脚本(Shell / perl)会在put操作后保留传输文件的时间戳?
答案 0 :(得分:2)
您是否可以尝试在tar文件中传输文件?从.tar中提取后,时间戳将被恢复。
答案 1 :(得分:2)
ncftp
是/bin/ftp
的标准升级。查看ncftpput
的{{1}}选项:
-y尝试使用“SITE UTIME”来保留远程主机上的时间戳。没有多少远程FTP服务器支持此功能,因此可能无法正常工作。
您可能还可以放心,-y
在很多平台上都很有效(包括Windows)
答案 2 :(得分:1)
一个选项是rcp -p
。我确信还有一些等效的更安全的scp
。
正如Autocracy所指出的那样,如果可以的话,只需转发tar / zip /以其他方式归档文件,然后再转回。不幸的是,这并不总是有效 - 比如你没有对文件源服务器的控制/访问。
或者,在通过FTP“获取”文件后,使用Perl的utime()
或Unix的touch
命令将时间戳更改为正确的时间戳。
需要注意的是,如果您将文件放到远程服务器上,则需要连接(ssh / telnet / rsh)以运行touch命令。有点麻烦而不是我推荐的,但即使是“放”也是有效的解决方案。