Commands.page Logo

Ubuntu Command to Download File With Server Timestamps

This article outlines the specific command-line utilities available in Ubuntu used to download files while preserving or synchronizing modification times with the remote server. It details the necessary flags to ensure local file timestamps match the source, facilitating accurate backup and synchronization processes without unnecessary data transfer.

The primary command used to download a file and adjust timestamps to match the server is curl with the --remote-time flag. While wget is also commonly used for downloading, its -N flag is primarily designed for conditional downloading based on timestamps rather than explicitly setting the local file time to match the remote file exactly. For precise timestamp matching, curl is the recommended tool.

To download a file and set its modification time to match the server, use the following syntax:

curl --remote-time -O https://example.com/file.zip

In this command, the -O flag saves the file using the remote name, and --remote-time ensures the local file’s timestamp is updated to reflect when the remote file was last modified. This is particularly useful for incremental backups or scripts that rely on file modification times to determine if a file has changed.

If you prefer using wget, you can enable timestamping with the -N flag. This command checks the timestamp before downloading and only retrieves the file if the remote version is newer:

wget -N https://example.com/file.zip

While wget -N efficiently handles updates, curl --remote-time is the definitive solution when the goal is strictly to ensure the local file’s timestamp matches the server’s record regardless of whether the content was updated. Both tools come pre-installed on most Ubuntu systems, allowing immediate use without additional package installation.