设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 2220|回复: 0

linux 实现日志轮换 [复制链接]

金牌会员

明日之星

Rank: 6Rank: 6

签到
82
注册时间
2011-4-27
最后登录
2013-3-22
在线时间
189 小时
阅读权限
70
积分
3851
帖子
163
主题
11
精华
1
UID
13391
发表于 2011-5-4 09:49:26 |显示全部楼层
第一、日志轮换
logrotate 日志轮换的工具
日志存放的地方: /var/log/*
常见的日志文件:
  /var/log/messages
  /var/log/wtmp
  /var/log/btmp
轮换工具的配置文件: /etc/logrotate.conf
/var/log/wtmp {   <—需要轮换的日志的据对路径
    monthly    <—采用每个月轮换一次的设定
    minsize 1M  <—-日志轮换的时候日志文件必须不少于1M,尽管轮换的时间到了,如果文件达不到1M也不去轮换
    create 0664 root utmp  <—-新建的日志文件权限是什么?拥有者是谁,组是谁?
    rotate 1
}
size  512k   <—尽管轮换的时间还没到,如果日志文件达到512kb,也进行轮换
测试的例子:
/var/log/wtmp {
    monthly
    size 20k
    create 0664 mary utmp
    rotate 2
}
修改后,手工触发:
logrotate /etc/logrotate.conf
logrotate -f /etc/logrotate.conf
验证:ll /var/log/wtmp*
vim /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts  <—-  执行脚本的开始标志
    postrotate   <—日志轮换之后需要执行的脚本
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
        /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript   <—与postrotate一对
}
如果是轮换前执行脚本:
prerotate / endscript
第二、日志管理
syslogd
软件包:sysklogd
配置文件:
/etc/syslog.conf  <—syslogd的主配置文件,存放的是syslogd记录日志的规则
/etc/sysconfig/syslog  <—保存一些启动的参数
字段的配置格式:设备.日志级别 动作
设备:
auth,     <—pam_pwd 产生的日志
authpriv  <—包括权限信息、用户登录的一些信息
cron <—负责管理cron,at等日志信息的设备
daemon  <—xinetd 产生的日志
kern <—内核产生的日志
lpr <—打印服务产生的日志
mail <—邮件产生日志
mark <—syslogd内部功能,主要产生一个时间chuo
news <—新闻组服务产生的日志
security (same as auth),  
syslog  <—syslogd本身产生的日志信息
user   <—用户程序产生的日志信息
uucp   <—文件拷贝服务产生的日志
local0 through local7.  <—程序自定义的日志设备
日志级别:
debug  <—产生的日志信息是最多一个
info <—一般信息的日志,最常用的
notice <—最具有重要性的普通条件的信息
warning <—预警的信息
warn (same as  warning)
err <—-阻止某个功能模块或者子系统不能正常工作的信息
error (same as err),
crit <—-阻止整个系统或者整个软件不能正常的信息
alert   <—-需要马上修改的信息
emerg <—-内核崩溃等严重错误
panic (same as emerg).
none <—什么也不记录
日志的级别 从上往下级别从低到高涨,级别越低记录的信息越多,
级别底的日志信息包括级别高的信息
#会记录 uucp,news两个设备产生的crit级别,以及包括crit更高级别的信息(alert,emerg)
uucp,news.crit                                          /var/log/spooler
#所以设备产生的info级别的信息,但除了mail,authpriv,cron的所有的记录以外,都记录在messages
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
      ^
# authpriv设备所有级别的日志信息都记录到/var/log/secure
authpriv.*                                              /var/log/secure
# 用户自定义的设备
local7.*                                                /var/log/boot.log
#只包括mail设备产生的info级别的日志,但不包括任何级别的日志都记录到/var/log/mymail.log
mail.=info    /var/log/mymail.log
#把kern设备产生的info级别,以及包括info级别以上的级别(notice …. emerg)都记录,但除了err级别的日志
kern.info;kern.!err          /var/adm/kernel-info
例子:
vim /etc/ssh/sshd_config
#SyslogFacility AUTHPRIV
SyslogFacility LOCAL6
vim /etc/syslog.conf  《--添加以下一行
local6.*                                                /var/log/mysshd.log
重启两个服务:
service syslog restart
service sshd restart
动作字段:
/filename.log  <—常规的日志文件
username <—用户名,例如root,那么日志就会现是在root登录的所有终端,多个用户名用逗号分隔
terminal   《--例如写成 /dev/tty2  <—
@hostname   <—主机名字,把日志发送到远程的日志服务器
日志测试命令:
[root@dns ~]# logger -t “test_log” “this is log content! “  《--通常用在shell脚本
[root@dns ~]# cat /var/log/messages
Nov 30 13:07:54 dns test_log: this is log content!
日期  主机名 日志的标题 日志的内容
远程日志服务:
vim /etc/sysconfig/syslog
服务端的配置:
-m 是够开启mark日志信息 ,-m 0 就是关闭这个功能, -m 120 就是每隔120分钟就产生一个时间信息
-r 是否允许接受远程发送过来的日志信息
-x 是否把IP转换成域名,-x不解析IP地址
启用接收远程发送过来的日志:
SYSLOGD_OPTIONS=”-r -m 0″
shell> service syslog restart
日志客户端的配置:
vim /etc/syslog.conf
*.*             @dns.upl.com  《---把客户端的所有设备(除了mark外)的所有级别的日志都发送到dns.upl.com的远程服务器上
vim /etc/hosts
10.1.1.20  dns.upl.com
service syslog restart
您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-9-21 08:28 , Processed in 0.014080 second(s), 10 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部