开发者

Logic wrong or is there a better method?

I'm trying to delete a file from 12 hours ago开发者_如何学JAVA only anything over 12 hours ago I just want to append.

find . -name "forum*.sql" -mmin +600 -mmin -780 -delete

Is there something like a -mmax I have to define?


Sorry, but I found your description a little hard to parse too.

Here is code that will delete files that are exactly created/modified in the 12-13th hour ago. Older files and newer files are left in place.

Forgive the verboseness of the var names, it's late, and I'm hoping that they make this solution self-documenting.

# currentTime=201104272232

TwelveHrsBefore=201104271032
ThirteenHrsBefore=2001104270932

# make some zero files with date/time range for what is to be deleted.
touch -t ${TwelveHrsBefore} upperLimit.tmpFile
touch -t ${ThirteenHrsBefore} lowerLimit.tmpFile

find . -name "forum*.sql" -newer lowerLimit.tmpFile -a ! -newer upperLimit.tmpFile
# when the above is producing the list of files you want to delete,
# append "| xargs /bin/rm -i" to the end of the find command
# to delete the files

# cleanup your tmp files   
rm lowerLimit.tmpFile upperLimit.tmpFile

The -newer ... -a ! -newer ... can be frustrating to get right. I have lightly tested it today AND I have used this technique for production jobs in the past, but I don't have access to that code to review what was a more complex problem than this example.

I hope this helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜