Re: Opposite of cp -u

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Robert Moskowitz wrote:
I had at one point copied a large number of files between drives and did not use the -p and thus the timestamps were all set to the date of the copy.

I did not catch this, and deleted the source. So I 'lived' with it and have since changed many files.

Well, yesterday I found a good backup of many of those files and I want to restore them to their proper dates.

cp -p -u is exactly the opposite of what I want. I want to copy only if the source files have an earlier date than the destination files.

I don't think that's what you want to do.  The files from the backup will
also have an earlier date than the files you subsequently changed.  I
believe what you want is more like this:

    cd /backup/directory
    for F in *
    do  cmp "$F" "/new/directory/$F" && touch -r "$F" "/new/directory/$F"
    done

That will compare all the files and adjust the timestamp on the files
that are still the same as those on the backup.  Note that, despite
the quoting, the script will break if any of the filenames have embedded
whitespace because the "for F in *" will be parsed incorrectly.

--
Bob Nichols     "NOSPAM" is really part of my email address.
                Do NOT delete it.

_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos

[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux