Changing a file's "Date Created" and "Last Modified" attributes to another file's
You can use the touch
command along with the -r
switch to apply another file's attributes to a file.
NOTE: There is no such thing as creation date in Unix, there are only access, modify, and change. See this U&L Q&A titled: get age of given file for further details.
$ touch -r goldenfile newfile
Example
For example purposes here's a goldenfile
that was created with some arbitrary timestamp.
$ touch -d 20120101 goldenfile
$ ls -l goldenfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 goldenfile
Now I make some new file:
$ touch newfile
$ ls -l newfile
-rw-rw-r--. 1 saml saml 0 Mar 7 09:06 newfile
Now apply goldenfile
's attributes to newfile
.
$ touch -r goldenfile newfile
$ ls -l goldenfile newfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 newfile
-rw-rw-r--. 1 saml saml 0 Jan 1 2012 goldenfile
Now newfile
has the same attributes.
Modify via Samba
I just confirmed that I'm able to do this using my Fedora 19 laptop which includes version 1.16.3-2 connected to a Thecus N12000 NAS (uses a modified version of CentOS 5.x).
I was able to touch a file as I mentioned above and it worked as I described. Your issue is likely a problem with the either the mounting options being used, which may be omitting the tracking of certain time attributes, or perhaps it's related to one of these bugs:
- Bug 461505 - can't set timestamp on samba shares
- Bug 693491 - Unable to set attributes/timestamps on CIFS/Samba share
Easiest way - accessed modified will be the same:
touch -a -m -t 201512180130.09 fileName.ext
Where:
-a = accessed
-m = modified
-t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format
If you wish to use NOW
just drop the t
and the timestamp
To verify they are all the same:
stat fileName.ext
See: touch man