wget: Time-Stamping Usage

 
 5.1 Time-Stamping Usage
 =======================
 
 The usage of time-stamping is simple.  Say you would like to download a
 file so that it keeps its date of modification.
 
      wget -S http://www.gnu.ai.mit.edu/
 
    A simple ‘ls -l’ shows that the time stamp on the local file equals
 the state of the ‘Last-Modified’ header, as returned by the server.  As
 you can see, the time-stamping info is preserved locally, even without
 ‘-N’ (at least for HTTP).
 
    Several days later, you would like Wget to check if the remote file
 has changed, and download it if it has.
 
      wget -N http://www.gnu.ai.mit.edu/
 
    Wget will ask the server for the last-modified date.  If the local
 file has the same timestamp as the server, or a newer one, the remote
 file will not be re-fetched.  However, if the remote file is more
 recent, Wget will proceed to fetch it.
 
    The same goes for FTP.  For example:
 
      wget "ftp://ftp.ifi.uio.no/pub/emacs/gnus/*"
 
    (The quotes around that URL are to prevent the shell from trying to
 interpret the ‘*’.)
 
    After download, a local directory listing will show that the
 timestamps match those on the remote server.  Reissuing the command with
 ‘-N’ will make Wget re-fetch _only_ the files that have been modified
 since the last download.
 
    If you wished to mirror the GNU archive every week, you would use a
 command like the following, weekly:
 
      wget --timestamping -r ftp://ftp.gnu.org/pub/gnu/
 
    Note that time-stamping will only work for files for which the server
 gives a timestamp.  For HTTP, this depends on getting a ‘Last-Modified’
 header.  For FTP, this depends on getting a directory listing with dates
 in a format that Wget can parse (⇒FTP Time-Stamping Internals).