editing log files at post
Hugh Brown
hbrown at divms.uiowa.edu
Thu Sep 2 15:47:25 UTC 2010
Jonathan Horne wrote:
> unfortunately i dont know anything about awk and sed (which is pitiful
> considering my other experience), but i think this is likely the answer to my
> issues.
>
> problem: servers are not compressing log files in /var/log, despite the fact
> that 'compress' exists in the logrotate.conf.
>
>
> at the end of my kickstart .cfg file, i have a line (its actually the final
> line)
>
> echo "compress" >> /etc/logrotate.conf
> EOF
>
> which causes my /etc/logrotate.conf to look like this:
>
> [root at psl-sipas04 log]# cat /etc/logrotate.conf
> # see "man logrotate" for details
> # rotate log files weekly
> weekly
>
> # keep 4 weeks worth of backlogs
> rotate 4
>
> # create new (empty) log files after rotating old ones
> create
>
> # uncomment this if you want your log files compressed
> #compress
>
> # RPM packages drop log rotation information into this directory
> include /etc/logrotate.d
>
> # no packages own wtmp -- we'll rotate them here
> /var/log/wtmp {
> monthly
> minsize 1M
> create 0664 root utmp
> rotate 1
> }
>
> # system-specific logs may be also be configured here.
> compress
> [root at psl-sipas04 log]#
>
>
> as you can see, the 'compress' is the last line of the .conf file. but despite
> the fact its there, the server(s) is not compressing the log riles upon
> rotation. ive been under the impression that the exitance of a 'compress' in
> the uncommented state would cause the behavior i want, but this appears to not
> be so (not sure why here, other research required).
>
> im wondering if i use something other than echoing the compress to the end of
> the file, or if i use awk or sed to locate the...
>
> #compress
>
> and change it to...
>
> compress
>
> if that would help?
>
> would anyone be able to help me with an example that would do this at the post
> of my kickstart, instead of just appending the 'compress' at the bottom/end of
> file?
>
>
According to the man page for logrotate:
Each configuration file can set global options (local definitions
override global ones, and later definitions override earlier ones)
So, your compress is set globally and is probably being overridden in
one of the /etc/logrotate.d/* files. You'll need to verify that
compress is set appropriately there for the log files you care about.
Generally, I do
cp /etc/logrotate.conf /etc/logrotate.conf.dist
sed -e 's/^#compress/compress/' /etc/logrotate.conf.dist
>/etc/logrotate.conf
chmod 644 /etc/logrotate.conf
the sed command should be all on one line in your script.
Be warned that if you leave *.dist files in /etc/logrotate.d/ they will
get processed as well. I generally copy them to /root/ before doing the
sed command.
Hugh
More information about the Kickstart-list
mailing list