cron job for deleting files older than 1 week
Matthew Flaschen
matthew.flaschen at gatech.edu
Fri Mar 9 13:13:13 UTC 2007
Gabriel Dragffy wrote:
> Matthew Flaschen wrote:
>> Carsten Aulbert wrote:
>>> Gabriel Dragffy wrote:
>>>
>>>> Could some one provide me with a sample script that I could run as a
>>>> cron job and it would go through the streamripper folder deleting files
>>>> older than 1 week (for example). Many thanks.
>>>> gabe
>>> Again, use with care ;)
>>>
>>> find /path -name "stream*.mp3" -mtime +6 | xargs -i rm -f {}
>>>
>>> That should delete all files named "stream*.mp3" found in the directory
>>> hierarchie /path with modification date older than 6 days.
>>>
>>> For mor info, please read the man page of find, xargs and rm and try the
>>> stuff first with 'echo' instead of rm to make sure you don't delete
>>> anything you don't want to delete.
>> Why do you use xargs? find is designed to do the same thing with just
>> -delete:
>>
>> find -name "stream*.mp3" -mtime +6 -delete
>>
>> In general, you could just do:
>>
>> find -name "stream*.mp3" -mtime +6 -execdir rm '{}' '+'
>>
>> Also, the '+' means it uses the same command line for multiple files,
>> which is more efficient.
>>
>> For testing:
>>
>> find -name "stream*.mp3" -mtime +6 -print
>>
>> No need to read two man pages. :)
>>
>> Matt Flaschen
>>
>
> Cheers Matt,
> How would that look inside a cron tab? Or would it have to go in to a
> seperate script?
I'm not really familiar with cron. There may be a way to insert
arbitrary command lines, but the easy way is make a file stream_purger.sh:
#!/bin/sh
find -name "stream*.mp3" -mtime +6 -print
Matthew Flaschen
More information about the ubuntu-users
mailing list