Skip to content
Jens Jäger

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