Maintain File’s Last Modified Date – How to Guide

date

I'm copying files and folders over from one filesystem to another (both are ext3) via cp in the terminal. The 'date modified' on all of the files are being changed to the current time although I am not modifying the folder or the files. I'd like for them to keep their existing 'last modified date' which vary within the past 5 years.

I am not interested in changing them to a specific date as described this previous question, but to maintain the existing 'last modified' date.

EDIT: This is still applicable for versions of ubuntu 12.04+ and newer

Best Answer

cp --preserve=timestamps <source> <destination>

If you are recursively copying you could use:

cp -a <source> <destination>

From the cp manual page:

-a, --archive
       same as -dR --preserve=all

-d     same as --no-dereference --preserve=links

-R, -r, --recursive
       copy directories recursively

--preserve[=ATTR_LIST]
       preserve  the specified attributes (default: mode,ownership,timestamps),
       if possible additional attributes: context, links, xattr, all
Related Question