I require to log syslogs into a mysql database. I
used syslog-ng (downloaded the rpm for syslog-ng - ver 1.6 and libol from
rpmseek.com and installed it) and used the information available in the site
(1) First I made the pipe file using the following
command
# mkfifo /tmp/mysql.pipe
(2) Then I used the following command to log into
mysql (first tried with local logging)
# mysql -u root --password=passwd syslog <
/tmp/mysql.pipe
This command gets stuck
But when syslog-ng is stopped and started it logs
and the contenets in /tmp/mysql.pipe gets loaded into the database table. The
following commands were used to stop and start syslog-ng
/etc/init.d/syslog-ng stop # Stop
syslog-ng
/etc/ini.d/syslog-ng start # Start syslog-ng
(3) The site states about an initialization script
like this one which needs to be started at start up.
The script given is provided below.
#!/bin/bash
if [ -e
/tmp/mysql.pipe ]; then
while [ -e /tmp/mysql.pipe ]
do
mysql -u
theuserid --password=thepassword syslogdb <
/tmp/mysql.pipe
done
else
mkfifo
/tmp/mysql.pipe
fi
Where should I put this script and how to start it
up at initialization?
Could you explain the working pricipal of this
script?