Better way to kill files?

C

Cory Wilkerson

Purpose here is to find all files > 5 hours old in a directory and wipe
them...

Of course I could just write a shell script but I wanted to leverage
ruby...or, rather, needed to leverage ruby...not real familiar with the
File and FileUtils API just yet...

dir_path = "~/foo/bar"

Dir.new(dir_path).each {|file|
if file.include?('foobar')
afile = File.new("#{dir_path}/#{file}")

if (Time.now - afile.mtime)/60/60 > 5
File.delete("#{dir_path}/#{file}")
end
end
}
 
R

Rick DeNatale

Purpose here is to find all files > 5 hours old in a directory and wipe
them...

Of course I could just write a shell script but I wanted to leverage
ruby...or, rather, needed to leverage ruby...

Not to discourage you from doing it in ruby, but you don't need to
write a shell script:

$man find

$find ~/foo/bar -mmin 300 -delete
 
B

Brian Adkins

Not to discourage you from doing it in ruby, but you don't need to
write a shell script:

$man find

$find ~/foo/bar -mmin 300 -delete

ruby -e '`find ~/foo/bar -mmin 300 -delete`'

In case the boss says it has to be Ruby :)
 
J

John Joyce

ruby -e '`find ~/foo/bar -mmin 300 -delete`'

In case the boss says it has to be Ruby :)
Of course you might want to generate a log of what got deleted.
Or perhaps just to stdout...
Then again, you might even want to do that and move them to a temp
dir for later deletion if they're not important.
Definitely want a log of anything that fit the requirements but was
unable to delete!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,269
Messages
2,571,348
Members
48,026
Latest member
ArnulfoCat

Latest Threads

Top