FTP檔案傳輸雖然不是安全的協定,
但在公司內部,由於使用方便簡單,
如果需要在不同主機間交換檔案,至今仍然是一個好的方式。
但在實務應用上,如果需要傳遞的檔案比較大,
有可能發生提供檔案的程序仍在執行中,
而收檔的程序已經開始進行檔案下傳了,
結果收到的檔案便會不完整,也無法立即發現,
需要額外的檢查程序,才能夠確認是否有問題。
這個問題有兩個可能的解決小技巧:
第一個是傳送時先使用暫時檔名(比如檔案名稱前加個底線),
等到傳送完成時再將檔名改成正確的檔名。
如此一來,當收檔的程序'看'到檔案的時候,
必定是已經傳送完成的狀態了。
只是這個方法需要傳送檔案的程序配合。
另外一個類似的方法是在傳檔完成後,
多傳一個小檔案(比如檔案名稱後加個".ok"),
當收檔的程序'看'到這個小檔案的時候,
也必定是已經傳送完成的狀態了。
這個方法同樣需要傳送檔案的程序配合。
或許有人會想說,
也可以經由持續檢查檔案的檔案大小,
或檔案最後修改時間來判斷是否已經傳送完成,
只是這個方法必須依賴不同遠端作業系統的一致性,
不如前面二種方法來得可靠。
參考連結