2010-06-02 68 views
2

文件的时间戳我知道,FTP不支持传输和保留文件的日期/时间戳记 想知道如果任何人有任何想法/脚本(壳牌/ perl的)会后保留转移文件的时间戳把操作?FTP脚本保留后放

回答

1
  1. 一个选项是rcp -p。我相信一些等价物也存在更安全scp以及。如专家所述,如果可以的话,只需tar/zip /以其他方式存档文件,然后再传输并恢复。不幸的是,这并不总是奏效 - 比方说,如果您没有对文件的源服务器进行控制/访问。

  2. 或者,在通过FTP“获取”文件后,使用Perl的utime()或Unix的touch命令将时间戳更改为正确的时间戳。需要注意的是,如果你要文件放到远程服务器上,则需要连接(ssh/telnet/rsh)来运行touch命令。有点麻烦,而不是我推荐的,但即使是“放”的有效解决方案。

+0

'scp'的等价选项是'-p' – mob 2010-06-02 20:10:14

2

你可能试图在tar文件中传输文件吗?从.tar提取时,时间戳将被恢复。

+0

很好的选择,但你怎么可以通过ftp命令解压? 例如,我只有FTP访问该服务器 – 2010-06-24 14:05:00

+0

“网站”或“引用”命令可以让你执行支持系统的命令。不幸的是,对于你来说,这个系统变化很大。举例来说,我不相信永远的proftpd允许系统软件的执行(而其他FTP系统可能使用“ls”的提供LS功能),但它确实提供了“SITE UTIME 200412312359 /path/to/some/file.txt “更改时间戳的方法。 – 2010-06-25 14:37:01

2

ncftp是标准升级超过/bin/ftp。退房ncftpput-y选项:

-y尝试使用 “SITE UTIME” 保存远程主机上的时间戳。没有太多的远程FTP服务器支持这个,所以它可能无法工作。

您也可以放心知道ncftp上一吨的平台的伟大工程(包括视窗)