I want to delete file and folder older than 7 days so I tried
[17:07:14 root@client01.abc.com:~]# find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;
So when I run find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;
it doesnt show any dir, but for find /tmp/ -mindepth 1 -maxdepth 2 -ctime +7 -exec ls -l {} \;
it does show few files in subdir.
Whats is the right way to delete files/folders older than 7 days in one specific dir ?
Easier to just do
Which will del files and dirs
my easy way:
the
daystart
option measure times from the beginning of today rather than from 24 hours agoref: official_doc
You can make use of this piece of code
Explanation
The first argument is the path to the files. This can be a path, a directory, or a wildcard as in the example above. I would recommend using the full path, and make sure that you run the command without the exec rm to make sure you are getting the right results.
The second argument, -mtime, is used to specify the number of days old that the file is. If you enter +7, it will find files older than 7 days.
The third argument, -exec, allows you to pass in a command such as rm. The {} \; at the end is required to end the command.
Source : http://www.howtogeek.com/howto/ubuntu/delete-files-older-than-x-days-on-linux/
For deleting folders, after emptying inside of them you can
rmdir
instad ofrm
in the piece of code, also if you only want to see directories you can addto piece of code such as below: