You could safe the times in a separate file:
(cd /path/to/ntfs/fs && getfattr -n system.ntfs_times -R .) > times
And to restore the times:
(cd /path/to/ntfs/fs && setfattr --recover=-) < times
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:
Best Answer
With libarchive
bsdtar
(supports all sorts of archive formats, including pkzip's), use them
flag:From the manual:
Note that the
m
flag is not specific tobsdtar
, it was already there in the first implementation oftar
in Unix V7 in 1979. What is specific tobsdtar
is the support for archive formats other thantar
.With
unzip
, see the-DD
option.