Showing posts with label logrotate. Show all posts
Thursday, August 05, 2010
Using logrotate to rotate and archive log
Previously I found out that rotatelogs cannot replace the rotated logs, I try to find other option.
I always come across logrotate whenever trying to search for rotatelogs.
So I give them a try.
1st step is to find it. BTW, I'm on SuSE Linux Enterprise 10.
Since it is not in the path, try to find it by doing this.
Now try to run it with full path.
Again, an error occurs.
This is because the user that we are currently on don't have write access /var/lib/logrotate.status.
Ask help from system root to change it...
...to
So, now try again.
At last. Now create a simple conf like below.
From my observation by triggering it manually (based on configuration above), I found out that it start by compressing the log file and name it mylog.1.gz.
When I trigger it again, it will rename the mylog.1.gz to mylog.2.gz and create a new mylog.1.gz. It will continue to do that but will not exceed mylog.5.gz (rotate 5 from conf file).
This is just like what I wanted. It will keep only 5 gz files. Now you can schedule (cron) them accordingly.
I always come across logrotate whenever trying to search for rotatelogs.
So I give them a try.
1st step is to find it. BTW, I'm on SuSE Linux Enterprise 10.
$ logrotate -ksh: logrotate: not found [No such file or directory]
Since it is not in the path, try to find it by doing this.
$ whereis logrotate logrotate: /usr/sbin/logrotate /etc/logrotate.d /etc/logrotate.conf /usr/share/man/man8/logrotate.8.gz
Now try to run it with full path.
$ /usr/sbin/logrotate
Again, an error occurs.
error: error creating state file /var/lib/logrotate.status: Permission denied
This is because the user that we are currently on don't have write access /var/lib/logrotate.status.
-rw-r--r-- 1 root root 1246 2010-07-28 09:30 logrotate.status
Ask help from system root to change it...
# chmod 666 logrotate.status
...to
-rw-rw-rw- 1 root root 1246 2010-07-28 09:30 logrotate.status
So, now try again.
$ /usr/sbin/logrotate logrotate 3.7.3 - Copyright (C) 1995-2001 Red Hat, Inc. This may be freely redistributed under the terms of the GNU Public License Usage: logrotate [-dfv?] [-d|--debug] [-f|--force] [-m|--mail command] [-s|--state statefile] [-v|--verbose] [-?|--help] [--usage] [OPTION...]
At last. Now create a simple conf like below.
$ cat ./logrotate.conf
/home/username/test/mylog {
rotate 5
daily
copytruncate
notifempty
compress
}
From my observation by triggering it manually (based on configuration above), I found out that it start by compressing the log file and name it mylog.1.gz.
When I trigger it again, it will rename the mylog.1.gz to mylog.2.gz and create a new mylog.1.gz. It will continue to do that but will not exceed mylog.5.gz (rotate 5 from conf file).
-rw-r--r-- 1 user group 348 2010-07-28 15:32 mylog -rw-r--r-- 1 user group 54 2010-07-28 15:32 mylog.1.gz -rw-r--r-- 1 user group 59 2010-07-28 15:32 mylog.2.gz -rw-r--r-- 1 user group 58 2010-07-28 15:32 mylog.3.gz -rw-r--r-- 1 user group 51 2010-07-28 15:32 mylog.4.gz -rw-r--r-- 1 user group 57 2010-07-28 15:32 mylog.5.gz
This is just like what I wanted. It will keep only 5 gz files. Now you can schedule (cron) them accordingly.
Subscribe to:
Posts
(
Atom
)

