Delete files older than 10 days using shell script in Unix

bash, find, shell, unix

Solution

`find` is the common tool for this kind of task :

find ./my_dir -mtime +10 -type f -delete

EXPLANATIONS

- `./my_dir` your directory (replace with your own)

- `-mtime +10` older than 10 days

- `-type f` only files

- `-delete` no surprise. Remove it to test your `find` filter before executing the whole command

And take care that `./my_dir` exists to avoid bad surprises !

Problem

I want to delete scripts in a folder from the current date back to 10 days. The scripts looks like: ``` 2012.11.21.09_33_52.script 2012.11.21.09_33_56.script 2012.11.21.09_33_59.script ``` The script will run in every 10 day with Crontab, that's why I need the current date.

Original source

Related problems