Solved

Scripting in Cygwin

Posted on 2012-03-13
2
666 Views
Last Modified: 2013-11-15
Hello,

I am in a situation here at work where.

I've been asked to delete some files by date... Easy enough right?

The kicker here is that i have to do so against 20+ million files in a single NAS Dir... Oh yeah, I know! Any way, I do not have a Unix server to work with and the windows API basically excretes a brick when I try any "Windowy" method of doing this (cmd, WMI, bla bla bla). I do however have access to a windows 2003 server running Cygwin which I am trying to utilize against the NAS directory for the clean up effort.

Here's the issue. I have mapped the NAS directory as a drive on the Windows box and am wanting to run a command something like: find . -mtime +186 -exec rm -f {} \; -print but with the right logic in place so as to identify only the right files. As I am no Unix expert I am taking baby steps towards that end.

The NAS dir does have subdirectories which include files that must not be deleted which is ok as the target files are all .log but when I try to run a simple find . -name  "*log"
I get back the below where I am expecting to see many many files. Any help here would be very appreciated. Oh, and I just joined today and have yet to have the time to read up on points and all that so please be forgiving and let me know if i've broken and social rules here in regard to points.
Thank you

$ find . -name  "*log"
./ESUB20081023.log
./ESUB20081024.log
./SubmissionDocSrv20081024.log
./SubmissionDocSrv_20081107.log
./SubmissionDocSrv20081027.log
./SubmissionDocSrv_20081110.log
find: /cygdrive/z/TransformXML changed during execution of find (old inode numbe
r -425971704, new inode number -416921728, filesystem type is system) [ref 1114]

find: /cygdrive/z/TransformXML changed during execution of find (old inode numbe
r -425971704, new inode number -431260960, filesystem type is system) [ref 1114]
0
Comment
Question by:UserAlreadyExists
2 Comments
 
LVL 28

Assisted Solution

by:serialband
serialband earned 250 total points
ID: 37715953
The error messages show that the is changing.

http://www.gnu.org/software/findutils/manual/html_node/find_html/Error-Messages-From-find.html

What do you mean by "the windows API basically excretes a brick when I try any "Windowy" method of doing this"?  Did forfiles.exe not work for you?
0
 
LVL 10

Accepted Solution

by:
pfrancois earned 250 total points
ID: 37719866
The syntax of the find command executed in the directory where you want to delete the older .log files will be something like:

find *.log -prune -mtime +186 -exec rm -f {} \; -print 

Open in new window


*.log will list all the files ending with .log
-prune will prevent to descend into sub-directories
-mtime +186 will restrict the matching to files that are not modified in the last 6 monthes
-exec rm -f {} \; will remove these files
-print will echo the name of the processed file on the output

I don't think you will have the error message above, since the modified file is not ending in .log.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Let’s list some of the technologies that enable smooth teleworking. 
All of the resources available today make learning a new digital media easier than ever-- if you know where to begin. This is a clear, simple guide to a few of the basic digital art mediums and how to begin learning them on your own.
The viewer will learn how to create multiple layers to apply various filters and how to delete areas from each layer’s filter.
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question