远程日志、自定义日志、日志轮转、循环计划任务

远程日志

vim /etc/rsyslog.conf日志的主配置文件

/etc/rsyslog.d/*.conf 子配置文件

Provides UDP syslog reception

#$ModLoad imudp #$UDPServerRun 514

Provides TCP syslog reception

#$ModLoad imtcp #$InputTCPServerRun 514

日志管理规则(RULES)(重点)

*.info;mail.none;authpriv.none;cron.none /var/log/messages

authpriv.* /var/log/secure

对象.级别 存放位置+文件名

服务-->对象 vim /etc/ssh/sshd_config

ssh --> authpriv/auth

#SYSlogFacility AUTH auth

SyslogFacility AUTHPRIV authpriv

查看都有哪些日志对象和日志级别
#man 5 rsyslog.conf

都有哪些对象: auth,authpriv, cron,daemon,kern,lpr, mail, mark,news, security (same as auth),syslog, user,uucp and local0 through local7 (0-7自定义)

级别: debug,info,notice,warning,warn (same as warning),err,error(same aserr),crit, alert,emerg, panic (same as emerg).

debug ---> panic 级别越低,记录的内容就越多,级别越高,记录的内容就越少

自定义日志

vim /etc/rsyslog.conf

local0 through local7:自己定义的日志文件

例: . /var/log/mylog systemctl restart rsyslog kern.err /var/log/kernel.log *.info;mail.none /var/log/big.log mail.info /var/log/mail.log

cron.info;cron.!err /var/log/newcron

远程日志

两台机器

一台接收日志 一台发送日志

先临时关闭在永久关闭selinux,firewalld

1.所有机器关闭防火墙和selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 (临时关闭selinux) [root@qf-xingdian ~]# getenforce (查看selinux) Disabled

扩展:永久关闭selinux vim /etc/selinux/config SELINUX=disabled

第二种方法永久关闭selinux sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

2.产生日志服务器: vim /etc/rsyslog.conf

*. * @10.11.59.91 //注意@:使用udp @@:使用tcp

3.日志收集服务器 vim /etc/rsyslog.conf 修改配置文件打开接收功能

$ModLoad imudp

$UDPServerRun 514         开启UDP/TCP接收

4.两台机器重新启动日志服务 systemctl restart rsyslog

5.验证 在产生日志服务器安装一个软件,产生一条日志. 在接收的服务器的messages的日志文件中查看

日志轮转

logrotate (轮转,日志切割)

  1. 如果没有日志轮转,日志文件会越来越大,最后导致日志打不开或者是打开时间过长

  2. 将丢弃系统中最旧的日志文件,以节省空间

  3. logrotate本身不是系统进程,即日志的轮转不会自动执行,它是通过写到相应的配置文件中使用计划任务crond每天执行 4.对日志的切割,你只需要给他定义一个规则

logrotate 配置文件: /etc/logrotate.conf (决定每个日志文件如何轮转) /etc/logrotate.d/* 主配置文件

[root@xingdian ~]# vim /etc/logrotate.conf =========全局设置==========

weekly //轮转的周期,一周轮转

rotate 4 //保留4份

create //轮转后创建新文件

dateext //使用日期作为后缀 #

compress //是否压缩

RPM packages drop log rotation information into this directory

rpm安装的程序,按照下面目录规则进行轮转

include /etc/logrotate.d //包含该目录下的文件

no packages own wtmp and btmp -- we'll rotate them here

对于wtmp和btmp这样无主的日志,按照下面配置进行轮转

/var/log/wtmp { //对该日志文件设置轮转的方法

monthly //一月轮转一次

minsize 1M //最小达到1M才轮转,即到了规定的时间未达到大小不会轮转

create 0664 root utmp //轮转后创建新文件,并设置权限属主和属组

rotate 1 //保留一份 }

/var/log/btmp {

missingok //丢失不提示

monthly //每月轮转一次

create 0600 root utmp //轮转后创建新文件,并设置权限

rotate 1 //保留一份 }

[root@xingdian ~]# vim /etc/logrotate.d/yum //原有的设置,没有说保存几份,看上面的全局设置 /var/log/yum.log

{ //yum日志文件

missingok //丢失不提示

notifempty //如果为空,不轮转

size 30k //达到30k就轮转

yearly //达到一年就轮转一次,两者满足一个就轮转

create 0600 root root //创建新文件 }

[root@xingdian ~]# ls /etc/logrotate.d/

chrony ppp wpa_supplicant syslog yum 日志的轮转规则文件是在安装rpm包时就自动提供的,无需人为手动编写 只有自己创建的日志文件才需要自己编写日志轮转规则文件

[root@xingdian ~]# yum -y install httpd

[root@xingdian ~]# ls /etc/logrotate.d/

chrony ppp wpa_supplicant syslog yum httpd

[root@xingdian logrotate.d]# yum -y install vsftpd

[root@xingdian logrotate.d]# ls chrony httpd ppp syslog vsftpd wpa_supplicant yum

说明: 当切割之后创建新文件,新文件有新的inode number 如果希望进程如rsyslog、nginx进程会把新的日志写入新日志文件中,应该在日志切割后,告诉一下rsyslog、nginx进程reload 或 信号(1 or HUP)

logrotate -f 规则文件 (/etc/logrotate.d)强制执行

计划任务

计划任务: 一次性计划任务

循环性计划任务(重点)

任务:Linux命令 (touch、mkdir等等) --->shell脚本用的最多

计划:时间

at(一次性计划任务) 软件包:at 服务名称:atd

创建:指定时间 指定任务

at 时间

命令 touch liutian

ctrl + d

特殊时间:noon teatime midnight

08:08 12/31/2023

查看:

at -l

ls /var/spool/at 创建计划任务会产生一个文件

删除:

at -d 工作号 (at -l 最前面的数字)

atrm 工作号

rm -rf /var/spool/at/文件名

用户级

系统级

循环计划任务cron crontab执行时间计算 - 在线工具

时间

分* 时* 日* 月* 周*

分钟:00-59

小时:00-23

日:1-31

月:1-12

周:0-7 1-6 0 7 周日

     ps:       *        表示每...
     ,      取不同的时间点
     -      表示范围
     */5    每5分钟
00 02
0 2 * * * /mysql_back.sh
0 2 14 * * /mysql_back.sh
0 2 14 2 * /mysql_back.sh
0 2 * * 5 /mysql_back.sh
0 2 * 6 5 /mysql_back.sh
0 2 2 * 5 /mysql_back.sh
0 2 2 6 5 /mysql_back.sh
*/5 * * * * /mysql_back.sh
0 2 1,4,6 * * /mysql_back.sh
0 2 5-9 * * /mysql_back.sh
​
* * * * * /mysql_back.sh
          0 * * * * /mysql_back.sh
* * 2 * * /mysql_back.sh
​
0 12 * * *   ls / 
示例:
00 02 * * * ls //每天2:00整
00 02 1 * * ls //每月1号2:00整
00 02 14 2 * ls //每年2月14号2:00整
00 02 * * 7 ls //每周日2:00整
00 02 * 6 5 ls //每年6月的周五2:00整
00 02 14 * 7 ls //每月14号2:00整 或者 每周日2:00整,这两个时间都执行
00 02 14 2 7 ls //每年2月14号2:00整 或者 每年2月周日2:00整,这两个时间都执行
00 02 * * * ls //每天2:00整
​
* 02 * * * ls //每天2:00中的每一分钟
* * * * * ls //每分钟执行ls
* * 14 2 * ls //2月14号的每分钟 1440分钟
    */5 * * * * ls //每隔5分钟
    00 02 1,5,8 * * ls //每月1,5,8号的2:00整
    00 02 1-8 * * ls //每月1到8号的2:00整
​
​

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'Demon'

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值