Easy backup and cleanup for logfiles
This post is part of the archive. It was written years ago, so some of the tools, versions and links may be outdated.
For your applications in production you should keep some logfiles but delete the older ones to save files space.
The following bash script will do the job.
It will zip all files older than 7 days.
Delete all files older than 30 days.
Folders will be ignored.
#!/bin/bash
directory="/application/log"
old="7"
older="30"
find $directory -mtime +$old -exec gzip {} \;
find $directory -mtime +$older -exec rm {} \;
I call the script in the crontab like this:
/usr/sbin/clean-log.sh > /dev/null 2>&1