日志的作用
   用于记录系统、程序运行中发生的各种事件
   通过阅读日志,有助于诊断和解决系统故障
日志文件的分类
   内核及系统日志
       由系统服务rsyslog统一进行管理,日志格式基本相似
   用户日志
       记录系统用户登录和退出相关的系统信息
   程序日志
       由各种应用程序独立管理的日志文件,记录格式不统一
rsyslog.conf文件的格式
   服务级别.日志级别
   Authpriv    认证有关的机制                                    
   cron            计划任务 cron/at 等产生信息记录的地方
   daemon      
   kern
   mail
   syslog
   local0~local7
   news
日志消息的级别
   0 EMERG(紧急)
   1 ALERT(警告)
   2 CRIT(严重)
   3 ERR (错误)
   4 WARNING(提醒)
   5 NOTICE(注意)
   6 INFO(信息)
   7 DEBUG(调试)
   
   
   
   /var/log/
       lastlog     最近的用户登录时间(直接用lastlog命令调用)
       wtmp       用户登录、注销及系统开、关机事件(用who和last命令可以调用查看)
       secure      与用户验证相关的安全性事件
       btmp        与用户验证失败的安全性事件(用lastb|more命令可以调用)
/var/run/utmp        当前登录的每个用户的详细信息(直接用who和w调用)
   用户登录分析
       who、w、users、lastb、last、ac、lastlog
       
logger:从命令行直接向系统日志文件写入一行信息
为什么不用“>>”,而用logger命令
是因为系统日志文件有自己的格式,用logger 命令可以把输出结果进行格式化
ping -c 2 www.baidu.com | logger -it " A ping test" -p authpriv.info





日志远程备份
   编辑/etc/rsyslog.conf配置文件,开启客户机上的日志远程服务
   # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
   #*.* @@remote-host:514
   *.* @@10.0.10.222:514

   编辑/etc/rsyslog.conf配置文件,可接收其他机器上的日志服务
   # Provides UDP syslog reception
   $ModLoad imudp
   $UDPServerRun 514
   # Provides TCP syslog reception
   $ModLoad imtcp
   $InputTCPServerRun 514

netstat -anptu |grep rsyslogd           查看服务器端是否开启514端口(rsyslogd)
如果没有开启514端口的话,就直接执行    service rsyslog restart


更改hostname      /etc/sysconfig/network  不要让客户机与服务器的hostname同名
更改/etc/hosts        添加hostname和与之对应的ip地址    ping hostname  == ping  ip


日志轮转:logrotate
日志轮转主配置文件:/etc/logrotate.conf
对特定的日志文件作轮转的配置文件为:/etc/logrotate.d
日志轮转次要配置文件:/etc/logrotate.d/*

/bin/kill -HUP `cat /var/run/rsyslogd.pid 2>/dev/null` 2>/dev/null || true
-HUP        挂起进程,不关闭进程,直接更新

对某个特定的日志文件进行轮转的步骤:
[root@localhost logrotate.d]# vi /etc/rsyslog.conf
编辑系统日志文件的配置文件,添加特定的日志文件类型或者不添加,直接用本身存在的日志文件,这里是添加
[root@localhost logrotate.d]# service rsyslog restart
重启系统日志文件服务
[root@localhost logrotate.d]#  cd /etc/logrotate.d
进入轮转配置文件夹
[root@localhost logrotate.d]# vi admin
编辑新的文件,进行特定的轮转
/var/log/admin.log{
monthly
size 10M
rotate 3
compress

sharedscripts
prerotate
    /usr/bin/chattr -a /var/log/admin.log
endscript

sharedscripts
postrotate
    /usr/bin/killall -HUP rsyslogd
    /usr/bin/chattr +a /var/log/admin.log
endscript
}
[root@localhost logrotate.d]# chattr +a /var/log/admin.log
切记,一定要对/var/log/admin.log文件添加“a”属性,防止被删除之类的操作,具体按照man chattr
[root@localhost logrotate.d]# logrotate -f /etc/logrotate.conf 

强制轮转,验证结果