2013-07-24 78 views
1

我知道wget有一個-N函數(也是一個時間戳選項,用於非頭部發送協議,如FTP),但我將如何指定wget的時間和日期。php wget和priovide最後修改時間

例如;我不想比較本地和遠程文件,我想直接指定wget使用的時間和日期。我知道下面是不正確的,它只是提供了例子的目的:

wget -N **--jan-2-2013-05:00** r ftp://user:[email protected]/public_html 

是否有可能給wget的時間戳當檢查最後一次修改使用?

+0

對不起,也許你沒」閱讀原文。我知道時間戳選項,但只比較本地文件和遠程文件。我需要直接指定一個日期,如果可能的話...... – David

+0

你可以使用'touch'來修改本地文件的時間戳,但這聽起來像個壞主意。爲什麼php標籤在那裏? – complex857

回答

0

不,沒有這樣的選擇。

時間戳行爲在wget中是非常自動的。當您使用--timestamping或-N選項,那麼該文件將不會得到,如果下載:

一)文件已經存在本地

二)文件具有本地和遠程大小相同

AND

c)該遠程文件的時間戳等於或大於所述本地文件的時間戳較舊的(在HTTP它比較靠Last-Modified頭)

所以你可以模擬你是問,如果你的行爲:

  1. 創建您打算使用相同的大小,下載的 那些在遠程位置(A + B條件)
  2. 觸摸文件文件,以便它們有時間戳你想(C 條件)

例子:

單個文件,我們已經知道這個名字讓我們說的foo.txt的大小,我們要2013-07-24T14後得到的只有較新的文件7348:27,這將是:

dd if=/dev/zero of=foo.txt bs=1 count=7348 
touch -t 201307241427 foo.txt 
現在

如果使用wget -N http://url/path/foo.txt wget的會像你問

+0

我想盡可能多,有沒有其他選項來查找指定時間內新修改的文​​件? – David

+0

如果你不能使用rsync然後使用lftp,那麼它的標誌是-N,--newer--可能是你想要的。有關文檔和[https://github.com/lavv17/lftp],請參閱[http://lftp.yar.ru/lftp-man.html](http://lftp.yar.ru/lftp-man.html) /issues/21](https://github.com/lavv17/lftp/issues/21)的格式爲--newer-than。 –