解決 FileZilla FTP Client 檔案修改時間不同的問題。

現在會使用到 FTP Client 的人,可能比較少了。但如果要使用 FTP Client 的話,大家可能會直覺想到 FileZilla Client(為求方便起見,後均簡稱 FZC)這個免費的 FTP Client 軟體。

大致上來說,FZC 的確已經可以滿足多數人的需求,包含我自己也不例外。

不過,最近在使用 FZC 時卻發現一件困擾著我的事:就是本機與伺服器的檔案修改時間,兩邊不會相同。

這看起來不像是一個大問題,只是時間不同而已嘛~不過事實上,這的確是一個大問題!不論是一般的檔案同步,或者是 FTP 檔案的同步,只要是用到同步功能,通常都是利用檔案的修改時間來做判斷,或許判斷率不是 100%,但這卻是最快最有效率的判斷方式。

若說來源的目的地的檔案修改時間都不相同的話,那可能就會造成同步上的錯誤,也可能造成每次的同步,都需要將每個檔案重新同步,而造成時間效率上的損失。

先說說 FZC 的情況好了。假設一名為 test.php 的檔案

  • 本機檔案的修改時間:2015/08/08 15:31:44
  • 伺服器端檔案的修改時間:2015/08/08 15:31:44

此時,兩地的修改時間都是相同的。

當我修改了本機檔案,此時

  • 本機檔案的修改時間:2015/08/08 15:32:14
  • 伺服器檔案的修改時間:2015/08/08 15:31:44

可以明顯發現,本機檔案是更新的。

我若把本機檔案上傳到伺服器,那麼兩地的修改時間都會相同,也就是

  • 本機檔案的修改時間:2015/08/08 15:32:14
  • 伺服器檔案的修改時間:2015/08/08 15:32:14

這部份,絕對是沒有問題的。但我若再次修改本地時間:

  • 本機檔案的修改時間:2015/08/09 10:12:04
  • 伺服器檔案的修改時間:2015/08/08 15:32:14

本機檔案又比伺服器端更新了,但我沒有上傳本機檔案,反而是從伺服器上下載檔案

猜猜看,本機檔案的修時間為何?答案是,不變,依然維持著:

  • 本機檔案的修改時間:2015/08/09 10:12:04
  • 伺服器檔案的修改時間:2015/08/08 15:32:14

雖然我在下載過程,已經選擇了「Overwrite File」,但本機的修改時間仍然不動如山,但我希望的是,本機檔案的修改時間會變成 2015/08/08 15:32:14

很仔細地找了一下 FZC 的設定,竟然找不到相關選項。結果,它算是遠在天邊,近在眼前。

相關設定,不在 FZC 的設定中,但是它被放在上邊的功能列中的「Transfer」裡,找到「Preserve timestamps of transferred files」,把它打勾就好了,快速鍵則是 Ctrl + U。

一經打勾之後,若兩地的修改時間分別為:

  • 本機檔案的修改時間:2015/08/09 10:12:04
  • 伺服器檔案的修改時間:2015/08/08 15:32:14

我從伺服器上下載檔案覆蓋本機的檔案,本機檔案的修改時間,就會變成 2015/08/08 15:32:14,而不再是那不動如山的 2015/08/09 10:12:04 了。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款