The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
Google UNIX.COM


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
way to copy only changed files zuessh AIX 3 12-15-2006 12:41 PM
chmod command for recently modified files polka_friend UNIX for Dummies Questions & Answers 2 08-30-2006 12:25 PM
How to compare two flat files and get changed data jtshashidhar Shell Programming and Scripting 3 01-29-2006 07:26 PM
shortcut for recently used commands in csh RishiPahuja UNIX for Dummies Questions & Answers 1 04-20-2005 01:01 AM
Recently Announced TCP Vulnerability Perderabo News, Links, Events and Announcements 0 04-23-2004 04:38 AM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #1  
Old 01-19-2007
Registered User
 

Join Date: Jun 2005
Location: Middletown, PA
Posts: 63
Trying to Copy Files Changed Recently

I have been toying around with a script that will copy all files altered in a development directory over to a testing directory and have been trying to construct the command to meet my needs.

Basically I am using find in a directory to see what files have changed over the past 24 hours. Then if I find any files that have changed I want to copy it over to another directory maintaining permissions. I have been toying with both these commands.

cd /home/common-dev
find . -mtime -1 |xargs cp -p {} ../common

I am getting errors about files not being directories so i must have something off with my cp command or how I am understanding how xargs is passing the filename.

cd /home/common-dev
find . -mtime -1 | cpio -opmvd ../common

The cpio command is not retaining permissions but it is doing the copies great.

Any suggestions or enlightenment would be appreciated. Thanks in advance.
Reply With Quote
Forum Sponsor
  #2  
Old 01-19-2007
...@...
 

Join Date: Feb 2004
Location: NM
Posts: 4,298
Do you want to copy directories - it is not needed if they already exist....
Code:
find . -mtime -1 -type f |\
while read file 
do
     cp -p $file ../common
done
Reply With Quote
  #3  
Old 01-19-2007
Registered User
 

Join Date: Jun 2005
Location: Middletown, PA
Posts: 63
Thank you

Thank you, I ended up doing something like this.


Quote:
find . -mtime -1 -type f |\
while read file
do
cp -rp $file ../${AREA}/$file
done
I have been experimenting further, what if I needed to check for directories or found a new file in a subdirectory that did not exist outside my development directory. I tried dropping the type -f from the find but I keep getting weird results. At one point I had it putting everythign where it needed to be, but an additional copy of each file was also copied to the base directory of my source directory. Somehow I thought when I first decided on this that it would be a little easier.

Last edited by scotbuff; 01-19-2007 at 12:38 PM.
Reply With Quote
  #4  
Old 01-22-2007
Registered User
 

Join Date: Jan 2007
Posts: 366
find . -mtime -1 -depth -print | cpio -pdmuv ../common

The -o and -p option don't go together.


By using the -depth option the directories will have to same time stamp as the original directory. Basically in this way the directory is copied after the files below it. (Ofcourse the directory is created before, but permissions and access rights, time stamps are copied after).

When doing it the other way around, copying the file will result in the timestamps of the directory to be changed.
Reply With Quote
  #5  
Old 01-23-2007
Registered User
 

Join Date: Jun 2005
Location: Middletown, PA
Posts: 63
Excellent

That is excellent, The -depth on the find command and the straightening out of the cpio flags seemed to be what was causing my problems. Thanks for the response!
Reply With Quote
Google The UNIX and Linux Forums
Reply

Tags
cpio

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes




All times are GMT -7. The time now is 02:44 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Complex Event Processing Blog

Content Relevant URLs by vBSEO 3.2.0