I'm forwarding mail from a shared hosting account to a gmail address. The mail forwarder does not delete the mail after forwarding so the directory is getting full.

I tried the following in a cron job, but it only seems to delete one file at a time. I want to run the cronjob once a month and delete all files, not just the first file found.

find /home/myshare/mail/foo/new -type f -mtime 0 -print0 | xargs rm -f

I also tried this variation of the find command, but it also only deletes one file:

find /home/myshare/mail/foo/new -delete

My access to the server is via CPanel. How do I delete all files in a directory with a single command in a cronjob?

link|improve this question
feedback

2 Answers

up vote 0 down vote accepted

If you use the -print0 flag with find, you will want to use xargs -0.

link|improve this answer
feedback

how about find /home/myshare/mail/foo/new -type f -mtime 0 -exec rm -rf {} \;

or rm -rf /home/myshare/mail/foo/new/*

link|improve this answer
thanks for your suggestions. – LandedGently May 16 '11 at 17:11
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.