[[http://tmade.de|Home tmade.de]]
[[http://wiki.tmade.de|Home Wiki]]
===== Syslog =====
Config file facility:
/usr/include/sys/syslog.h
==== syslog-ng ====
Detailed logging example for FTP!
Edit file:
/etc/syslog-ng/syslog-ng.conf.in
Add filter:
filter f_local4debug { level(debug) and facility(local4); };
filter f_local4info { level(info) and facility(local4); };
filter f_local4 { facility(local4); };
filter f_ftp_info { level(debug,info,debug) and facility(ftp); }; # To FTP (facilityname=ftp)
destination ftp_info { file("/var/log/pure-ftpd.log");};
log { source(src); filter(f_ftp_info); destination(ftp_info); };
destination local4debug { file("/var/log/local4.debug"); };
log { source(src); filter(f_local4debug); destination(local4debug); };
destination local4info { file("/var/log/local4.info"); };
log { source(src); filter(f_local4info); destination(local4info); };
destination local4 { file("/var/log/local4"); };
log {source(src); filter(f_local4); destination(local4); };
==== Update ====
/etc/syslog-ng/syslog-ng.conf with:
SuSEconfig --module syslog-ng
==== Usage and test ====
logger -p local4.info "my message"
logger -p local4.debug "my message"
logger -p local4 "my message"
==== Logrotate ====
See logrotate (/etc/logrotate.d/ and /etc/logrotate.conf) for more options/details.
Config examples are in:
/etc/logrotate.d/
Copy existing file to new profilname (e.g.)
cp pure-ftpd new_profile_name
and edit.
Execute manually to activate:
logrotate /etc/logrotate.conf #all
or
logrotate -d /etc/logrotate.d/new_profile_name #Test "new_profile_name"
logrotate /etc/logrotate.d/new_profile_name #Rotates "new_profile_name"
Example file:
/var/log/nginx/*.log {
#monthly #rotates once a month
#daily #rotates once a day
weekly #rotates once a week
size 10M #rotates if file is >= 10 MB
rotate 7 #keeps 7 versions of logfiles
compress #compress files
compresscmd /bin/bzip2 #compress as bzip2
delaycompress #compress on 2. run (keeps always 2 versions of logfiles uncompessed)
missingok #avoids halting on any error and carries on with the next log file
notifempty #donĀ“t rotate if file is empty
postrotate #execute command after rotation
test ! -f /usr/local/nginx/sbin/nginx.pid || kill -USR1 `cat /usr/local/nginx/sbin/nginx.pid`
#killall -USR1 nginx
endscript #required after postrotate/ command
create 644 root root #rotates files with 644 permission and owner/group as "root"
}