次: , 上: Time-Stamping


5.1 タイムスタンプの利用

タイムスタンプの利用は単純です.編集日時を保つため,ダウンロードしたい ファイルに対し以下のようにします.

     wget -S http://www.gnu.ai.mit.edu/

単純にls -lすると,ローカルファイルのタイムスタンプが,サーバか ら返されるようなLast-Modifiedのステータスと同じになります.タイ ムスタンプ情報は,見て分かるように,たとえ`-N'がない場合でも(少く ともhttpに対し)ローカルに維持されます.

数日後,Wgetにリモートファイルが変化したかどうか調査させ,変化した場合 ダウンロードしたい場合もあります.

     wget -N http://www.gnu.ai.mit.edu/

Wgetはサーバに最後に編集した日付を尋ねます.ローカルファイルがサーバと 同じタイムスタンプ,またはより新しい場合,リモートファイルは再取得され ません.しかし,リモートファイルがより最新の場合,Wgetは取得処理を行い ます.

ftpでも同じようになります.例えば以下のようにします.

     wget "ftp://ftp.ifi.uio.no/pub/emacs/gnus/*"

(URLの周りの引用符で,シェルが`*'を展開することを妨げます.)

ダウンロード後にローカルディレクトリをリスト表示すると,リモートサーバ のものと一致するタイムスタンプを表示します.`-N'でコマンドを再発行 することで,Wgetは,前回ダウンロードしてから編集されたファイルの み再び回収します.

毎週,GNUアーカイブをミラーしたい場合,毎週以下のコマンドを入力するでしょ う.

     wget --timestamping -r ftp://ftp.gnu.org/pub/gnu/

タイムスタンプは,サーバがタイムスタンプを与えるファイルに対してのみ動 作します.httpに対しては,これはLast-Modifiedヘッダに依存し ます.ftpに対しては,これはWgetがパース可能な書式の,日付を用いた ディレクトリリストで得られるものに依存します(see FTP Time-Stamping Internals).