2012-07-15 97 views
5

我想自動上傳我網站的文件。但是,遠程服務器不支持SSH,所以我嘗試使用lftp命令而不是rsync。爲什麼lftp mirror --only-newer不會傳輸「只有更新」的文件?

lftp -c "set ftp:use-mdtm no && set ftp:timezone -9 && open -u user,password ftp.example.com && mirror -Ren local_directory remote_directory" 

如果本地文件未更改,則不會使用此命令對文件進行升級。但是,我更改文件並運行命令,所有文件都上傳。

我知道lftp/ftp的MDTM問題。所以,我嘗試了「set ftp:use-mdtm no & & set ftp:timezone -9」,但是所有的文件都是上傳的,儘管我只改變了一個文件。

有誰知道爲什麼lftp鏡像 - 只有更新不轉移「只有更新」的文件?

回答

5

在接下來的頁面

http://www.bouthors.fr/wiki/doku.php?id=en:linux:synchro_lftp

作者所述:

上傳時,是不可能設置上載的文件的日期/時間,這就是爲什麼 - >忽略需要時間。

因此,如果您使用標誌組合--only-newer和--ignore-time,您可以實現體面的備份屬性,以這種方式取代所有尺寸不同的文件。當然,如果您真的需要依賴時間同步,但如果只是執行數據的定期備份,它就無能爲力。

+0

嗯。在我的情況下,'-Rne'完全按照預想的那樣工作。也許它依賴於FTP服務器? – kralyk 2015-07-22 21:27:42

+0

lftp -e「mirror --reverse --only-newer --ignore-time /var/www/deploys/project.com/prod/shared/web/images/uploaded_statuses_photos/BACKUP_STATUSES_PHOTOS」-u username,pw server || |這將複製所有文件到我的備份服務器,問題是...我想設置一個每天只會備份新圖像的cronjob ...問題是,當我再次運行它時,它開始一次又一次地發送所有文件。請任何想法? – EnchanterIO 2015-10-20 20:37:19

+0

我也嘗試過這種組合,但沒有成功:「lftp -e」「mirror -c --reverse --only-newer --ignore-time」 – EnchanterIO 2015-10-20 21:03:21

相關問題