O rsync fornece o que você precisa. É usado principalmente para fazer backups delta, mas o que é importante (para você) é que ele pode ser usado para transferir apenas um arquivo ou arquivo (s) quando a cópia remota foi alterada. rsync
Do manual do wget:
The time-stamping in GNU Wget is turned on using ‘--timestamping’ (‘-N’) option, or through timestamping = on directive in .wgetrc. With this option, for each file it intends to download, Wget will check whether a local file of the same name exists. If it does, and the remote file is not newer, Wget will not download it.
If the local file does not exist, or the sizes of the files do not match, Wget will download the remote file no matter what the time-stamps say.
Deveria estar fazendo o que você está pedindo ... certo?