Solved

Scripting in Cygwin

Posted on 2012-03-13
2
662 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

New My Cloud Pro Series - organize everything!

With space to keep virtually everything, the My Cloud Pro Series offers your team the network storage to edit, save and share production files from anywhere with an internet connection. Compatible with both Mac and PC, you're able to protect your content regardless of OS.

Question has a verified solution.

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

Utilizing an array to gracefully append to a list of EmailAddresses
Finding original email is quite difficult due to their duplicates. From this article, you will come to know why multiple duplicates of same emails appear and how to delete duplicate emails from Outlook securely and instantly while vital emails remai…
This Micro Tutorial will teach you how to reformat your flash drive. Sometimes your flash drive may have issues carrying files so this will completely restore it to manufacturing settings. Make sure to backup all files before reformatting. This w…
XMind Plus helps organize all details/aspects of any project from large to small in an orderly and concise manner. If you are working on a complex project, use this micro tutorial to show you how to make a basic flow chart. The software is free when…

932 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now