rsysconfig-日志回滚方式

文件:

#vim /etc/rsyslog.conf

[root@localhost ~]# vim /etc/rsyslog.conf 


# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log
1. kern.* 内核类型的所级别的日志

2 *.info;mail.none;news.none;authpriv.none;cron.none ; 由于mail, news , authpriv,cron 等类别产生的讯息较多,因此在 /var/log/messages 里面不记录这些项目

除此其他讯息都写入/var/log/messages 中。所以messages文件很重要

3. authpriv.*: 认证方面的讯息均写入 /var/log/secure 档案

4.mail.* 邮件方面的讯息则都写入 /var/log/maillog 档案

5. cron.* 例行性工作排程都写入 /var/log/cron 档案

6.local7.* 将本机开机时应该显示到屏幕的讯息写入到 /var/log/boot.log 档案中

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog
【-】号的作用:

由于邮件所产生的讯息比较多,因此我们希望邮件产生的讯息先储存在速度较快的内存中(buffer),等到数据量够大了才一次性的将所有数据都填入磁盘内,

这样将有利于减少对磁盘读写的次数,减少IO读写开销。另外,由于讯息是暂存在内存中,因此若不正常关机导致登录信息未写入到文档中,可能会减少部分

数据的遗失

服务重启和开机启动

[root@localhost ~]# service rsyslog restart
Redirecting to /bin/systemctl restart  rsyslog.service
[root@localhost ~]# chkconfig rsyslog on
Note: Forwarding request to 'systemctl enable rsyslog.service'.

日志的存储格式(怎么看日志)

DATA TIME HOSTNAME APP(NAME) [PID] :MESSGAGES

说明:

DATA TIME: 日志记录的日期和时间

HOSTNAME APP(NAME) [PID] : 什么机器 什么程序(程序的PID)

例: sshd+rsyslog 练习(sshd单独记录一个叫sshd.log的日志文件)

修改配置文件:#vim /etc/ssh/sshd_config

修改:

      #SyslogFacility AUTHPRIV

为:

     SyslogFacility local0

重启:

        #service  sshd  restart

修改配置文件:

        #vim /etc/rsyslog.conf  #在最后添加一行

local0.*                   /var/log/sshd.log

重启:

    #service rsyslog restart

#这时没有这个文件/var/log/sshd.log ,因为没有产生任何日志

[root@localhost ~]# service sshd restart      #动作 产生日志
Redirecting to /bin/systemctl restart  sshd.service
[root@localhost ~]# cat /var/log/sshd.log         #查看日志
Dec  2 20:28:09 localhost sshd[7416]: Received signal 15; terminating.
Dec  2 20:28:09 localhost sshd[7678]: Server listening on 0.0.0.0 port 22.
Dec  2 20:28:09 localhost sshd[7678]: Server listening on :: port 22.

如何防止日志被黑客删除?

命令chattr

a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性。

[root@localhost ~]# chattr +a /var/log/sshd.log
[root@localhost ~]# rm -rf !$
rm -rf /var/log/sshd.log
rm: cannot remove ‘/var/log/sshd.log’: Operation not permitted
加入这个属性后, /var/log/messages 登录档从此就只能被增加 而不能被删除 直到root 以 【chattr -a /var/log/messages】取消这个a的参数后,才能被移除

日志回滚:

原因:日志太大 需要分开

logrotate(日志回滚过程:创建新文件 改名旧文件)

系统配置属性

[root@localhost ~]# vim /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext
参数说明:

weekly 预设每个礼拜对日志进行一次rotate工作

rotate    保留几个日志文档 预设是保留4个

create   回滚日志后 创建一个新的空文件来存储

[root@localhost ~]# vim /etc/logrotate.conf

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

说明:
/var/log/btmp   仅对 /var/log/btmp 所设定的参数
  monthly   每个月一次 取代每周
minsize 1M 档案容量一定要超过1M后才进行 rotate(略过时间参数)
create 0600 root utmp 设定新建文件的权限 所有者 用户组
rotate 1 仅保留一个 也就是说 仅有 wtmp.1 保留而已

实战:
配置远程日志服务器,实现日志集中管理:
【服务端设置】

[root@localhost ~]# vim /etc/rsyslog.conf

# Provides TCP syslog reception      #启动Tcp接收
#$ModLoad imtcp
#$InputTCPServerRun 514
改为

# Provides TCP syslog reception #启动Tcp接收$ModLoad imtcp$InputTCPServerRun 514#端口 514

[root@localhost ~]# service rsyslog restart
Redirecting to /bin/systemctl restart  rsyslog.service

查看端口514是否启动成功

[root@localhost ~]# netstat -anutp | grep 514

tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      8530/rsyslogd       
tcp6       0      0 :::514                  :::*                    LISTEN      8530/rsyslogd 
-a  all所有
-n   number 数字
-u   udp协议
-t    tcp协议
-p    pid 进程
【客户端】
[root@localhost ~]# vim /etc/rsyslog.conf
参照
#*.* @@remote-host:514
修改
*.* @@IP地址:端口号 @@代表tcp @代表udp
重启生效
[root@localhost ~]# service rsyslog restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值