タイムスタンプが変更されていない場合は、引き続きダウンロードしてください。

タイムスタンプが変更されていない場合は、引き続きダウンロードしてください。

大規模な更新されたデータベースダンプを含むサイトをミラーリングしたいと思います。マニュアルページを読んだ後も、-Nオプションとオプションがどのように組み合わされているかを完全に理解できませんでした。-cwget

可能であれば、wgetを使用してファイルをダウンロードする方法はありますか?

  • サーバーのタイムスタンプがローカルタイムスタンプより新しい場合は、代替ローカルファイルをダウンロードしてください。
  • サーバーのタイムスタンプがローカルと同じですが、リモートサイズが大きい場合、wgetはダウンロードを続行します。

サーバーが修正時間転送をサポートしていることがわかっています。

答え1

これwget マニュアルより多くの情報がありますman wget

次の2つの条件のいずれかが満たされると、ファイルは新しいファイルと見なされます。

  1. この名前のファイルはまだローカルに存在しません。
  2. その名前のファイルが存在しますが、リモートファイルの変更時間はローカルファイルよりも最新です。

これを達成するために、プログラムはローカルファイルとリモートファイルの最後の変更時刻を知る必要があります。この情報をファイルのタイムスタンプと呼びます。

GNU Wgetのタイムスタンプは--timestamping()オプションを使用するか、経由で-N有効になります.wgetrc。このオプションを使用すると、ダウンロードする各ファイルに対して、Wgetは同じ名前のファイルがローカルに存在することを確認します。その場合、リモートファイルが古い場合、Wgetはそのファイルをダウンロードしません。

ローカルファイルが存在しない場合、またはファイルサイズが一致しない場合、Wgetはタイムスタンプに関係なくリモートファイルをダウンロードします。

簡単に言うと、-N要求どおりに実行してください。

関連情報