Copy a file and keep the same timestamp of the original file

You can preserve the timestamp of the original file when copying using cp by adding the -p or --preserve option:

   -p     same as --preserve=mode,ownership,timestamps

   --preserve[=ATTR_LIST]
          preserve the specified attributes (default: mode,ownership,time‐
          stamps), if  possible  additional  attributes:  context,  links,
          xattr, all

So to preserve only the timestamp

cp --preserve=timestamps oldfile newfile

or to preserve mode and ownership as well

cp --preserve oldfile newfile

or

cp -p oldfile newfile

Additional options are available for recursive copying - a common one is cp -a (cp --archive) which additionally preserves symbolic links.


If you want to preserve the original timestamps, use

$ touch -r <original_file> <new_file>

This copies the timestamps from another file.

See this blog post for more: Fake File Access, Modify and Change TimeStamps