04-30-2001
BEFORE I issue an "rm" command inside a find -exec, I always test it extensively to be sure it's working properly.
There are a few variations:
find /path/to/dir -mtime +7 -type f -exec ls -l {} \;
This will give a long listing of the files which satisfy the find criteria. i.e. the ones to be deleted.
You can also try:
find /path/to/dir -mtime +7 -type f -print
If you use "." in place of /path/to/dir - ALL directories below your starting point will be searched.
Typical:
cd /dir/to/purge
find . -mtime +7 -type f -exec ls -l {} \;
Good luck
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
can anyone tell me how I would write a script in ksh on AIX that will delete files in a directory older than 7 days? (1 Reply)
Discussion started by: lesstjm
1 Replies
2. UNIX for Dummies Questions & Answers
I will like to write a script that delete all files that are older than 7 days in a directory and it's subdirectories. Can any one help me out witht the magic command or script?
Thanks in advance,
Odogboly98:confused: (3 Replies)
Discussion started by: odogbolu98
3 Replies
3. UNIX for Dummies Questions & Answers
I have a directory that contains files. I would like the command that deletes all files that are over 30 days old. Delete files based on creation date and not modified. (2 Replies)
Discussion started by: GEBRAUN
2 Replies
4. UNIX for Dummies Questions & Answers
how can i delete last 7 days mofified files(need command please...........) (3 Replies)
Discussion started by: ss4u
3 Replies
5. UNIX for Dummies Questions & Answers
This is driving me crazy. How can I delete files in a specifc directory that are over 30 days old? Thanks in advance. (3 Replies)
Discussion started by: tlphillips
3 Replies
6. Shell Programming and Scripting
i have to delete files which are older than 15 days or more except the ones in the directory Current and also *.sh files
i have found the command for files 15 days or more older
find . -type f -mtime +15 -exec ls -ltr {} \;
but how to implement the logic to avoid directory Current and also... (3 Replies)
Discussion started by: ali560045
3 Replies
7. Shell Programming and Scripting
Can any one please help me in deleting all the Files over 7 days from sub-directories A, B, C...
Top-Directory
Sub-Directory-A
File-1
File-2
.....
File-n
Sub-Directory-B
File-1
File-2
.....
File-n
Sub-Directory-C
File-1
... (1 Reply)
Discussion started by: sureshcisco
1 Replies
8. Solaris
Hi all,
I want to delete log files with extension .log which are older than 30
days. How to delete those files?
Operating system -- Sun solaris 10
Your input is highly appreciated.
Thanks in advance.
Regards,
Williams (2 Replies)
Discussion started by: William1482
2 Replies
9. Shell Programming and Scripting
Hi All,
I am using below code to delete files older than 2 days. In case if there are no files, I should log an error saying no files to delete.
Please let me know, How I can achive this.
find /path/*.xml -mtime +2
Thanks and Regards
Nagaraja. (3 Replies)
Discussion started by: Nagaraja Akkiva
3 Replies
10. Shell Programming and Scripting
Will this work to delete files 30 days old in $backupDir or is there a better way to do it?
find $backupDir -type f -mtime +30 -exec rm {} \; (2 Replies)
Discussion started by: wyclef
2 Replies
FIND(1) General Commands Manual FIND(1)
NAME
find - find files
SYNOPSIS
find pathname-list expression
DESCRIPTION
Find recursively descends the directory hierarchy for each pathname in the pathname-list (i.e., one or more pathnames) seeking files that
match a boolean expression written in the primaries given below. In the descriptions, the argument n is used as a decimal integer where +n
means more than n, -n means less than n and n means exactly n.
-name filename
True if the filename argument matches the current file name. Normal Shell argument syntax may be used if escaped (watch out for
`[', `?' and `*').
-perm onum
True if the file permission flags exactly match the octal number onum (see chmod(1)). If onum is prefixed by a minus sign, more
flag bits (017777, see stat(2)) become significant and the flags are compared: (flags&onum)==onum.
-type c True if the type of the file is c, where c is b, c, d or f for block special file, character special file, directory or plain
file.
-links n True if the file has n links.
-user uname
True if the file belongs to the user uname (login name or numeric user ID).
-group gname
True if the file belongs to group gname (group name or numeric group ID).
-size n True if the file is n blocks long (512 bytes per block).
-inum n True if the file has inode number n.
-atime n True if the file has been accessed in n days.
-mtime n True if the file has been modified in n days.
-exec command
True if the executed command returns a zero value as exit status. The end of the command must be punctuated by an escaped semi-
colon. A command argument `{}' is replaced by the current pathname.
-ok command
Like -exec except that the generated command is written on the standard output, then the standard input is read and the command
executed only upon response y.
-print Always true; causes the current pathname to be printed.
-newer file
True if the current file has been modified more recently than the argument file.
The primaries may be combined using the following operators (in order of decreasing precedence):
1) A parenthesized group of primaries and operators (parentheses are special to the Shell and must be escaped).
2) The negation of a primary (`!' is the unary not operator).
3) Concatenation of primaries (the and operation is implied by the juxtaposition of two primaries).
4) Alternation of primaries (`-o' is the or operator).
EXAMPLE
To remove all files named `a.out' or `*.o' that have not been accessed for a week:
find / ( -name a.out -o -name '*.o' ) -atime +7 -exec rm {} ;
FILES
/etc/passwd
/etc/group
SEE ALSO
sh(1), test(1), filsys(5)
BUGS
The syntax is painful.
FIND(1)