2012-06-20 195 views
1

我有一個bash腳本,它利用inotify-tools等待.zip文件被刪除到根下的子結構中。從那裏他們解壓縮到另一個目錄。FileZilla FTP解壓縮問題

當我用WinSCP複製.zip文件時,腳本正確執行。複製與FileZilla中的.zip文件會導致這個錯誤但是:

End-of-central-directory signature not found. Either this file is not 
a zipfile, or it constitutes one disk of a multi-part archive. In the 
latter case the central directory and zipfile comment will be found on 
the last disk(s) of this archive. 

我GOOGLE了這個錯誤,這兩個主要問題似乎是一箇舊版本的linux的解壓縮功能,這是我的一個新版本,並試圖複製大於2GB的文件(此文件不是)

任何人都知道這裏的問題,在我看來,Linux正試圖在腳本完全複製到磁盤之前解壓腳本?就像我說的,只有filezilla有這個錯誤,我不明白它與winSCP

+1

你確定該文件是以二進制模式傳輸,而不是在ascii模式? – fvu

+0

是的,我懷疑這可能是之前的一個問題,並且改變了它。 – user898465

回答

0

我相信你的主要問題是你嘗試處理的ZIP仍然被轉移。可能發生的情況是,只要啓動傳輸,WinSCP就會創建臨時文件來存儲傳輸的數據。該事件將在zip文件完成傳輸之前觸發您的腳本。

這可以解釋爲什麼你收到此錯誤:

結束的中央目錄簽名未找到。要麼這個文件不是 一個zipfile,

所以解決方案將有兩個文件夾一個用於傳輸,一個用於競技。他們應該在同一個文件系統中。轉移完成後,從一個文件夾移動到另一個文件夾。