• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    初探Linux的系统日志
    POST TIME:2021-10-20 10:18

    syslogd klogd   ---------/etc/syslog.conf

    /var/log/secure:登录到系统存取资料的记录;FTP、SSH、TELNET...
    /var/log/wtmp:记录登录者讯录,二进制文件,须用last来读取内容
    /var/log/messages:杂货铺
    /var/log/boot.log:记录开机启动讯息,dmesg | more

    一、常识

    复制代码
    代码如下:
    # ps aux | grep syslog
    # chkconfig --list | grep syslog
    # cat /var/log/secure

    /etc/syslog.conf 哪些服务产生的哪些等级讯息记录到哪里
    记录到相同地方的多个讯息源用分号间隔
    vi /etc/syslog.conf

    二、接收远程日志

    复制代码
    代码如下:
    # grep 514 /etc/services
    syslog 514/udp/p> p>vi /etc/sysconfig/syslog
    # 将SYSLOGD_OPTIONS="-m 0"
    # 改成
    SYSLOGD_OPTIONS="-m 0 -r"/p> p>/etc/init.d/syslog restart
    [root@linux ~]# netstat -tlunp
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    udp 0 0 0.0.0.0:514 0.0.0.0:* 24314/syslogd/p> p>对应client
    # vi /etc/syslog.conf
    *.* @192.168.1.100

    三、logrotate

      

    复制代码
    代码如下:
    * /etc/logrotate.conf
    * /etc/logrotate.d/

    logrotate.conf 才是主要配置文件,而/logrotate.d /这个目录内的所有文件都被读入 /etc/logrotate.conf来执行!
    如果在 /etc/logrotate.d/ 目录文件中,没有相应的细节设定?以 /etc/logrotate.conf 设定为缺省值!

    复制代码
    代码如下:
    vi /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
    endscript
    }

    1、用空格作多个档案分隔
    2、所有设定在{}中
    3、# prerotate:在启动logrotate执行的指令
       # postrotate:在做完 logrotate后需处理的指令

    logrotate [-vf] logfile
    ??:
    -v  :显示过程
    -f  :强制执行

    而 logrotate 的工作加入到 crontab /etc/cron.daily/logrotate;所以系统每天自动查看
    只是要注意一下:/var/log/messages 是否有这样的类似内容
    Oct 24 15:15:35 localhost syslogd 1.4.1: restart.

    四、实例:
    要求: 登录档案每月替换一次
           若> 10MB ;强制替换,不不考虑一个月的期限;
           保存五备份文档;
           备份文档不压缩。

    步骤1:

    复制代码
    代码如下:
    root@linux ~]# chattr +a /var/log/admin.log
    [root@linux ~]# lsattr /var/log/admin.log
    -----a------- /var/log/admin.log

    只能新增不能删节除,除非chattr -a /var/log/admin.log

    复制代码
    代码如下:
    [root@linux ~]# mv /var/log/admin.log /var/log/admin.log.1
    mv: cannot move '/var/log/admin.log' to '/var/log/admin.log.1':permission deny

    步骤2:

    复制代码
    代码如下:
    vi /etc/logrotate.d/admin
    # This configuration is from VBird 2005/10/24
    /var/log/admin.log {
    monthly
    size=10M
    rotate 5
    nocompress
    sharedscripts
    prerotate
    /usr/bin/chattr -a /var/log/admin.log
    endscript
    sharedscripts
    postrotate
    /usr/bin/killall -HUP syslogd
    /usr/bin/chattr +a /var/log/admin.log
    endscript
    }

    步骤3:测试

    复制代码
    代码如下:
    # logrotate -v /etc/logrotate.conf
    .....(前面省略).....
    rotating pattern: /var/log/admin.log 10485760 bytes (5 rotations)
    empty log files are rotated, old logs are removed
    considering log /var/log/admin.log
    log does not need rotating
    not running shared prerotate script, since no logs will be rotated
    ............
    # logrotate -vf /etc/logrotate.d/admin
    reading config file /etc/logrotate.d/admin
    reading config info for /var/log/admin.log

    也就是说: /etc/syslog.conf 与/etc/logrotate.d/* 对应文档搭配起来使用;先由syslogd 按照syslog.conf指定的方法处理消息,
    然后送给 logrotat来按照/etc/logrotate.d/*文档要求来轮替日志。

    五、常见指令:


    复制代码
    代码如下:
    # dmesg | more
      读/var/log/boot.log

    复制代码
    代码如下:
    dmesg | grep 'eth'


    复制代码
    代码如下:
    # last -n number
    [root@linux ~]# last -f filename

    -n  :number
    -f  :last 预设值为读 /var/log/wtmp 文档,而 -f 读取不同的文档
        

    复制代码
    代码如下:
    # last -n 5 -f /var/log/wtmp.1
    dmtsai2 pts/2 Mon Oct 24 14:18 - 14:18 (00:00)
    dmtsai2 work:0 work Mon Oct 24 14:18 gone - no logout
    dmtsai2 work:0 work Mon Oct 24 14:18 - 14:18 (00:00)
    dmtsai2 pts/2 Mon Oct 24 14:18 - 14:18 (00:00)
    dmtsai2 work:0 work Mon Oct 24 14:18 - 14:18 (00:00)/p> p># lastlog

    只读取/var/log/lastlog 内容,只包括当前系统上面所有的帐号最近一次LOGIN的时间。

    上一篇:通过SSH进行密钥认证自动登录Linux服务器
    下一篇:命令行查看Linux的系统版本和内核版本以及机器字长
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信