linux日志管理命令_shell查看日志命令

2022-09-22 14:48:11 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

文章目录
  • 一.任务计划
    • 1.一次性调度执行——at
    • 2.循环调度执行——cron
    • 3.符号说明
    • 4.使用实例
  • 二.日志管理
    • rsyslogd配置文件
    • rules规则
  • 三.日志轮转程序logrotate

Linux11任务计划,日志管理

一.任务计划

1.一次性调度执行——at

#at 时间

eg.两分钟后执行以下指令

at执行后可以设置多条命令,ctrl d退出

2.循环调度执行——cron
  • cron和crontab不可分割
  • 执行循环调度任务前提是crond这个服务已经在运行了 如何检查crond这个服务运行情况 #ps -ef | grep crond或者#systemctl status crond.service

创建计划

#crontab -e (会打开一个专门记录循环任务的文件,直接追加新内容就可以,这个文件一般在/tmp/crontab)

编写内容

分 时 日 月 命令

0-59 0-23 1-31 1-12 0-7(0或7都表示周日)

eg.

每个小时的第五分钟——5 * * * *

每年三月十五日一点五分——5 1 15 3 *

每年每月十五日一点五分——5 1 15 * *

每年每月每日一点五分——5 1 * * *

(*表示每)

每五分钟执行一次—— */5 * * * *

每个月1号4号6号的两点0分执行——0 2 1,4,6 * *

每个月5号到9号的两点0分执行——0 2 5-9 * *

每分钟都在执行——* * * * *

每个小时的0分执行(整点执行)——0 * * * *

每两周执行一次 ——* * * * */2

每月周五两点第0分钟执行—— 0 2 * * 5


特殊: 0 2 2 6 5

六月二号两点0分 周五 这个会执行两个条件的并集,也就是六月二号两点整和六月的每个周五两点整都会执行

特殊:0 2 14 * 7

每个月14号两点整要执行,每个月星期天两点也要执行

保存退出后 #crontab -l 可以查看

3.符号说明

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

4.使用实例
代码语言:javascript复制
实例1:每1分钟执行一次command
命令:
* * * * * command

实例2:每小时的第3和第15分钟执行
命令:
3,15 * * * * command

实例3:在上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * * command

实例4:每隔两天的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 */2 * * command

实例5:每个星期一的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * 1 command

二.日志管理

一般存放在/var/log/…

1.日志管路进程rsyslog——产生日志进程

什么程序-做了什么事-记录到什么位置

如果没有这个进程要安装#yum install -y rsyslog

然后再启动 #systemctl start rsyslog

其配置文件是rsyslogd

2.系统日志文件/var/log/里面的文件基本后缀都为.log

  • 系统主日志文件/var/log/message 用于记录大多数系统的操作,可以查看一下最后几行 #tail -10 或 -20 /var/log/message

时间——主机名——做了什么操作


补充:

#tail -f /var/log/messages 这个-f会锁定日志窗口

此时再开一个终端执行watch命令,就可以实时看到日志文件的变化


  • tail /var/log/secure ——认证安全相关的日志
  • tail /var/log/yum.log ——yum相关的日志

rsyslogd配置文件

如果配置文件有问题可以重装#yum install rsyslog

启动服务#systmctl start rsyslog.service

相关配置文件#rpm -qc rsyslog,有三个

(查询软件包的安装情况,-q表示查询-c表示配置文件)

其中较为重要的是主配置文件/etc/rsyslog.conf

进入该配置文件可以看到46行的rules规则——主要用于说明什么程序的日志放在什么地方

rules规则

组成:设备.级别 存放位置

举例60行

60: mail.* -/var/log/maillog

这里点的左边(mail)是设备类型名,点的右边(*)是级别——后面跟着日志文件存放位置

(这里路径前面如果带短横线-的,表示异步方式记录)

设备类型名

syslog:syslogd自身产生的日志

authpriv:安全认证

cron:调度程序(cron and at)

mail:邮件系统

user:用户相关的

daemon:后台进程(守护进程)

ftp:文件服务器

kern:内核设备

lpr:打印设备

local0-7:自定义设备

级别

以下是从低到高一共8级

  • debug:调试信息
  • info:标准信息
  • notice
  • warnning
  • err
  • crit
  • alert
  • emerg:紧急

信息级别越高,信息量越少 在级别处填了一个*表示不指定信息级别,无论什么级别的日志信息都记录下来放到指定位置

特别:当级别的位置写了none表示排除

此处54行,*.info表示收集所有信息,后面三个为排除项,意思是收集所有信息除了mail,authpriv,cron这三类设备 (一般在下面会单独写出这三种设备的日志收集规则)

工作经验:

配置文件一般不要随意修改,修改时可以复制原信息进行注释,方便恢复,并标明修改时间和修改人(注释)


特点:所有程序的配置文件一般都在/etc/程序名.conf

三.日志轮转程序logrotate

  • 主配置文件:/etc/logrotate.conf
  • 子配置文件夹:/etc/logrotate.d/*(一般存放自定义的配置,可以修改子配置,不要随便改主配置)

查看主配置文件#vim /etc/lorotate.conf

补充一些可以写入蓝色箭头区域的内容:

missingok表示丢失不提醒

notifempty空文件不轮转(一般#关闭)

maxsize n 文件大小超过n立刻轮转

当修改了日志轮转的配置文件后,不会立刻生效,要等到原本设置的下一次备份时间才会生效,如果想立刻按照修改后的配置执行轮转可以手动输入

#/usr/sbin/logrotate /etc/logrotate.conf(让前面这个logrotate程序按照后面这个配置文件执行一遍)


补充:

修改系统时间——用date命令

#date——查看时间

#date 02280100——修改时间(月日时分,不建议乱改),公司一般有统一的时间服务器ntp

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168471.html原文链接:https://javaforall.cn

0 人点赞