2010-06-02 105 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上一噸的平臺的偉大工程(包括視窗)