iThome online | iThome Blog | iThome周刊訂閱

載入中...

aqr199

IT邦初學者
9級

檔案最後修改日期

最近在處理ftp檔案同步的問題
因為先前都是用Dreamweaver由電腦工程師做檔案同步
現在想要使用排程在晚上自動執行

找到了很多軟體, 都不太滿意
而且設定很複雜, 大部份都不支援指令型態

於是就自己寫了一個同步的vbs
步驟如下
1. 連上ftp取回檔案清單,關鍵指令(dir -l list.txt)
2. 由清單內容(list.txt)比對現有的檔案, 並產生下載清單(get.conf)
檔案不存在 -> 下載
檔案最後修改日期不對 -> 下載
檔案大小不對 -> 下載
3. 下載資料, 關鍵指令(ftp -s:get.conf)
get.conf內容示意如下
open ftp.xxx.com
isID
isPWD
lcd C:\
cd /images
binary
get 001.jpg
get 002.jpg
bye

※問題來了
下載的檔案最後修改日期變了?!

於是我做了一些檢查
1. Dreamweaver同步下來的檔案:建立日期及修改日期沒變
2. 用windows內建的ftp下載的檔案:建立日期及修改日期變為下載日期
3. 使用同步軟體(FTPSync)測試::建立日期變為下載日期, 修改日期沒變
http://www.fileware.com/products.htm
4. 使用wget下載:
如果透過ftp下載, 建立日期及修改日期變為下載日期
如果透過http下載, 建立日期變為下載日期, 修改日期沒變
5. 使用flashget下載:建立日期及修改日期沒變


有誰能告訴我, 為什麼都是下載檔案,
修改日期有些會被改變, 有些不會呢??

收藏到:發佈到twitter       
解決時間:2008-06-16 15:37:02
發問時間:2008-06-11 11:20:35

沒辦法自問自答

在其他地方得到的回答, 請參考吧
http://phorum.com.tw/ShowPost.aspx?Appr=1&PostID=9071

2008-06-13 16:59:18 補充

最佳解答(發問者自選)
4

回答:powerop ( IT邦初學者8級 )

時間:2008-06-13 15:18:59

要看 FTP server 跟 client 有沒有實做 RFC 3659 所定義的 MDTM (File Modification Time) 功能,請參考我的網誌:
MDTM:淺談FTP協定如何保留下載檔案的日期 / 時間

參考資料:自己的網誌

[-隱藏]

回應

aqr199 說:

TO powerop:
感謝你的回應
但是我詳讀你的網誌後, 有點疑問
MDTM似乎只是ftp內在查詢檔案的最後修改日期
而MFMT是在處理檔案上傳後, 變更上傳檔案的建立日期或最後修改日期

處理下載檔案的日期應該還是落在ftp client身上

2008-06-13 16:04:09

powerop 說:

aqr199,
你整理的太好了,幾句話就把重點講完了 XD
沒錯, MDTM 只是 ftp client 去跟 ftp server 查詢檔案時間戳記的指令,最後處理下載檔案的日期還是ftp client的工作。

2008-06-14 16:54:45

powerop 說:

aqr199,
你所提到的
http://phorum.com.tw/ShowPost.aspx?Appr=1&PostID=9071
其實也不算「錯」,倒是剛好點出通訊協定的「應然」與「實然」 :p

那位 ricado 他那張 RunFTP 的貼圖,看來 RunFTP 似乎跟某些 ftp client 一樣,是用 MDTM 去設定上傳的檔案時間戳記。就 RFC 3659 來說,不應該這樣做,但是你去看 RFC 3659 ,它是 2007 年才出來的,關於 MDTM 那段它也說:

The FTP command, MODIFICATION TIME (MDTM), ...... This command has existed in many FTP servers for many years, ......

所以這麼多年,已經有很多 ftp client 跟 ftp server 發展出各種處理上傳、下載檔案時間戳記的方法。另一種不符合 RFC 但常用的是,利用 directory listing (dir / ls) 列出來的檔案時間,當作下載回來的檔案時間(這其實沒有比 MDTM 準確,因為考量到時區問題, dir 出來的有可能是伺服器當地時間,而 MDTM 規定一定要回傳 UTC +0 時間)

做網管就是這樣,我個人覺得,要瞭解「應然」,盡力去達成,不然就接受「實然」,想辦法配合 :)

2008-06-14 19:58:03

aqr199 說:

TO powerop:
除非是新的東西或者是各廠商規格第一次整合的時候
通常規範經常跟不上實務, 所以有時候只能當作參考

規範跟需求有衝突的時候, 一定是以需求為主吧

2008-06-16 15:36:57

檔案最後修改日期

目前沒有回答

回應

請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數



 

檢舉違規

違規事項:

*補充檢舉理由(可省略),字數不可超過100字

推薦

推薦理由:


*給回答者的鼓勵(可不填),字數不可超過100字

熱門標籤

 ad   aspireone   eee   epson   excel   firefox   freenas   google   hp   it   linux   microsoft   moss   msnlib   msnsdk   msn機器人   office   outlook   powerpoint   pro   server   solaris   sql   sun   ubuntu   usb   ux   vista   windows   xp   伺服器控制項   備份   免費軟體   好康妹   學習   工作   微軟   投影機   文書處理   有話大聲說   活動   綠色聰明採購大公開   職場   資訊安全   輸入法   鐵人賽   鐵殼心文化搖籃   防毒軟體   防火牆   2003 

free counters