重点是日志的设置和轮换
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
sharedscriptsprerotate #轮替前做的事
/usr/bin/chattr -a /var/log/admin.log
endrotate
sharedscriptspostrotate #轮替后做的事
/usr/bin/killall -HUP syslogd
/usr/bin/chattr +a /var/log/admin.logendrotate
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/ #这里有些写错了