House keeping removing 30+ days old files using shell script
I don't know how would you execute the command on all machines, automatically via ssh? or manually?
anyway, if you want to save the effort of typing path, you may consider that on each machine create a variable with same name, e.g. BACKUP_DIR, it saves the path you need to do the cleaning job.
Then, in your find command, don't hardcode any path, but use the variable.
if you do it automatically via ssh, you know the path when you establish the connection. then just add the path in your find.
Related videos on Youtube
Admin
Updated on September 18, 2022Comments
-
Admin over 1 year
So I have to bit of housekeeping for old backups and have the following code working on sh:
find /home/backups -mtime +30 -type f -exec rm -rf {} \;
This works fine as know the location/path, so if the path is diff on another machine how can I modify the command to work on all machines?
If I use the command below that will delete all files 30 days old but I'm only looking to clean up these unique set of backup files only:
find . -mtime +3 -exec rm {} ';'
Thanks
-
Admin over 12 yearsmaybe you could consider to use a variable for the path?
-
GreyCat over 12 yearsConsider using
-prune
or-delete
instead of-exec rm -rf
- it's usually a much better option, if yourfind
supports it.
-
-
Admin over 12 yearsYep yep this what was thinking just wanted to get second opinion, thanks kent