鸟哥基础第二十二章

重点是日志的设置和轮换

1、log默认存放位置

/var/log/secure             #访问系统数据的记录
/var/log/wtmp               #登录者的信息
/var/log/messages       #系统错误的信息
/var/log/boot.log          #系统开机和服务启动时的信息
/var/log/mail             
/var/log/maillog
/var/log/cron                 #cron的内容
/var/log/samba             #网络服务的信息
等等

2、syslogd

程序:/sbin/syslogd
程序配置:/etc/syslog.conf
启动脚本:/etc/init.d/syslog
启动脚本配置:/etc/sysconfig/syslog

/etc/syslog.conf
cat /etc/syslog.conf | egrep -v “^#|^$”

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                                                 /var/log/secure
mail.*                                                                       -/var/log/maillog
cron.*                                                                       /var/log/cron
*.emerg                                                                      *
uucp,news.crit                                                         /var/log/spooler
local7.*                                                                    /var/log/boot.log

服务名称.信息等级                                                  log存放位置
服务名称

auth、authpriv:认证有关的记录
cron:                例行性有关信息
daemon:             守护程序相关信息
kern:                核心相关信息
syslog:             syslog本身相关信息

分隔符

.                          比后面的信息等级相同的或更高的都记录下来
.=                        等于后面的信息等级的记录下来
.!                      除了后面的信息等级,其他等级都记录下来

信息等级(从低到高)

info                      基本信息
notice
warn/warning     一般都记录这个及以上的信息
error/err
crit
alert
panic/emerg       该等级意味着系统快死机了

log存放位置

@192.168.1.100      存放到远程网络
*                               显示出来给所有在线的人看

3、logrotate

logrotate只是一个程序,它靠cron帮助每日运行。

rpm -ql logrotate

程序:/usr/sbin/logrotate
配置:/etc/logrotate.conf、/etc/logrotate.d
cron:/etc/cron.daily/logrotate

/etc/logrotate.conf
cat /etc/logrotate.conf | egrep -v “^#|^$”

weekly                                    每周一次
rotate 4                                   存4个备份
create                                     建新文件来记录
include /etc/logrotate.d           包含该目录下的轮替设置,自定义的都可以写在这里,数据库轮替也可以用
/var/log/wtmp {                        针对登录时的用户状态进行记录的文件,进行轮替
    monthly                               记录用户ID,登录时间等等
    create 0664 root utmp
    rotate 1
}
/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
#蓝色部分是要logrotate的内容,并且做了如何logrotate的设置。

/etc/logrotate.d/admin

/var/log/admin.log {

monthly
size=10M                            #大于10M自动轮替
rotate 5
sharedscripts

prerotate                      #轮替前做的事

/usr/bin/chattr -a /var/log/admin.log

endrotate
sharedscripts      

postrotate                    #轮替后做的事       

/usr/bin/killall -HUP syslogd
/usr/bin/chattr +a /var/log/admin.log

endrotate

logrotate命令

logrotate -v /etc/logrotate.d/admin   查看轮替的运行情况
logrotate -f /etc/logrotate.d/admin    强制进行轮替,立刻进行

其他命令

sudo last /var/log/wtmp 
sudo lastlog

附专题:数据库的轮替

http://islandlinux.org/howto/automated-mysql-backups
http://www.cslog.cn/Content/logrotate-mysql-automated-backu/     #这里有些写错了