EDIT - Code was simplified
It should do the trick.
Place this script in the directory you want dirs to be removed.
Explanations:
We create a temporay files: f1
For every file (i) in the folder, check if it's a directory (-d "$i").
If so, create an entry in the temp file (f1) (use stat --help to see what's going on there) ($'\t' is a TAB)
Once every file is processed, sort f1 so older entries are on the top of the file (see sort --help). Output is piped to head, that will display all but the 3 latest lines (the most recent entries), and redirected to the last loop that reads every line and echoes the actual filename. Replace the last echo command with rm -r once you are sure the script is OK.
(The #commented last rm command removes the temp files. Remove the # to actually execute this command)
Last edited by tukuyomi; 11-10-2010 at 04:36 PM..
Reason: Edited script - Formatting
Hello,
How would I write a BASH script to remove all sub directories in a root level directory that are older than
10 days, but exclude directories owned by certain users. I would need to run as a cron job once a week.
Thank you
-John (2 Replies)
Hello,
I need help in writing the shell script for below mentioned case.
There are 2 servers(server A, server B).
A cronjob syncs files between these 2 servers.
Existing script is copying files from A to B.
This is done using the command rsync.
However, the files are not deleted... (2 Replies)
I have a task, I usually do manually, but with growing responsibilities I tend to forget to do this weekly, I want to write a script that automates this, but I cant seem to work it out in my head, I have the shell of it out, but need help, and you guys have helped me with EVERY problem I have... (5 Replies)
Hello,
I'm trying to figure out how best to approach this script, and I have very little experience, so I could use all the help I can get. :wall:
I regularly need to delete files from many directories.
A file with the same name may exist any number of times in different subdirectories.... (3 Replies)
Hello All,
My shell script runs everyday to update certain database. Everytime the script runs it creates a directory, with "current date". These directories contain log and data files:
HOME_DIR/database_name/20120417/*
HOME_DIR/database_name/20120416/*... (6 Replies)
Hi,
I have a requirement like,
I need to create the directory with date and time stap (i.e YYYYMMDDHMS) every day end need to delete the old directories which is 12 months old. I have tested with following script
cd /export/home/sbeeravo/; find . -type d -mtime +365 -exec rm -rf {} \;
... (2 Replies)
*Just realized that i posted this in the wrong forum. should have been in Shell, though it is on AIX...
Hi.
I'm trying to write a script that will delete all directories found, that are not named as a "number" (year)...
here is what i mean, let's say i have within /data/exports the... (8 Replies)
Hi.
I'm trying to write a script that will delete all directories found, that are not named as a "number" (year)...
here is what i mean, let's say i have within /data/exports the following directories:
/data/exports/2000
/data/exports/2001
/data/exports/2002
/data/exports/daily/2000... (5 Replies)
Hello,
I need a hand with a script im trying to make. I have a directory
/usr/db/mail with a bunch of subdirectories such as
/usr/db/mail/domain1.com
/usr/db/mail/domain2.com etc. etc.
all of these directories in turn have sub directories of their own. What I need to do is search all of... (1 Reply)