Настройка домашнего сервера Linux (Часть 8)

Syslog

Syslog предназначен для сбора логов. Установка logrotate:

ipkg install logrotate
Создать папку для хранения логов:

mkdir -p /opt/var/log/
Отредактировать crontab:

vi /opt/etc/crontab
Добавить следующие запись:

0 0 * * * admin /opt/sbin/logrotate -f /opt/etc/logrotate.conf &>/dev/null 

Отредактировать logrotate:

vi /opt/etc/logrotate.conf
Заменить все содержание с этим:

compress

 /opt/var/log/syslog.log {
 size 1024k
 weekly
 rotate 9
 postrotate
 killall -HUP syslogd
 endscript
 }

 include /opt/etc/logrotate.d 
Syslog нужно автоматически запускать для этого создаем файл запуска:

vi /opt/etc/init.d/S05syslogd
Содержимое:

#!/bin/sh
#
# Startup script for syslog
#
PATH=/opt/bin:/opt/sbin:/opt/local/bin:/sbin:/bin:/usr/bin:/usr/sbin

LOGFILE=syslog.log
KERNLOGFILE=kern.log
LOG_OLD=/tmp
LOG_NEW=/opt/var/log

prefix=""
sbindir=${prefix}/sbin

NAME=syslogd
DAEMON=${sbindir}/${NAME}
DESC="syslogd"
OPTIONS="-m 0 -O $LOG_NEW/$LOGFILE -S -l 7 -s 0"

case "$1" in
start0)
printf "Starting ${DESC}: "
# Copy old syslog and create symlink to new
if [ ! -L /tmp/syslog.log ]; then
cat $LOG_OLD/$LOGFILE >> $LOG_NEW/$LOGFILE
mv $LOG_OLD/$LOGFILE $LOG_NEW/$KERNLOGFILE
ln -s $LOG_NEW/$LOGFILE $LOG_OLD/$LOGFILE
fi
${DAEMON} ${OPTIONS}
printf "${NAME}.\n"
logger -t ${NAME} "started."
;;
stop)
if [ -n "`pidof syslogd`" ]; then
printf "Stopping ${DESC}: "
killall "${NAME}"
printf "${NAME}.\n"
fi
;;
start|restart|force-reload)
$0 stop
sleep 1
$0 start0
;;
*)
printf "Usage: $0 {start|stop|restart|force-reload}\n" >&2
exit
;;
esac

exit 0
And must be executable:
Code:
chmod +x /opt/etc/init.d/S05syslogd
Вновь сохранить и перезагрузить:

flashfs save && flashfs commit && flashfs enable && reboot
Прочли: 1410 | Изменено: 25 апреля 2011 | Добавлено: 24 апреля 2011 | На главную