cp -u
Hi! I'm using Ubuntu version 8.04, kernel 2.6.24-19-generic. I have done some simple backups of directories using 'cp -u' that updates the files, if source is newer than the destination (or if destination file is missing). I noticed that if, for some reason, the copy of a file is interrupted (and so the destination file is not the same size as the source) and after that you do 'cp -u' again it does not update the interrupted file. So the 'cp -u' does not care about the file size mismatch and cares only about the timestamps. So I would like to suggest that 'cp -u' should also check the size of the files and do a copy if source is newer, or if destination is missing, or if file sizes are different. Regards, Markku A. Mähönen ___ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils
Re: cp -u
2008/6/14 Philip Rowlands <[EMAIL PROTECTED]>: > > You might find rsync to be a better tool for this task. It's more robust > against partial-copy failures, and has the nice property that copied files > will all carry the same mtime, whereas cp -u will not attempt to replicate > timestamps (from a cursory check). > Ok, rsync might be better for this task (it seems to be quite a cpu hog though). But if you forget that, imho the 'cp -u' does not work as it should, so it is a bug. Cheers, Markku ___ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils
Re: cp -u
2008/6/14 Bob Proulx <[EMAIL PROTECTED]>: > > Therefore the caller *must* check the exit code and handle errors > appropriately if it cares about them. I suspect that your backup > script is not checking the exit code from cp and therefore not > handling the original interrupt condition. > You don't get the exit code, if the system boots while 'cp -u' /M ___ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils
Re: cp -u
2008/6/14 Bob Proulx <[EMAIL PROTECTED]>: > Markku A. Mähönen wrote: > > You don't get the exit code, if the system boots while 'cp -u' > > At that point the computational model of the machine is broken and > there isn't anything that will protect you against file corruption. > But you mentioned interrupted and therefore normal SIGINT came to > mind. > > There is a way to protect against file corruption: check the file sizes, as I was suggesting previously. rsync is not an answer to failing 'cp -u' Cheers, Markku ___ Bug-coreutils mailing list Bug-coreutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-coreutils