就业班 2401--3.7 Linux Day13--日志轮转+jumpserver堡垒机

2024-03-07 22:20

本文主要是介绍就业班 2401--3.7 Linux Day13--日志轮转+jumpserver堡垒机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、日志轮转

日志重要性

Linux系统日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。

Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。

日志系统rsyslog

日志管理基础

rsyslog 日志管理 
logrotate日志轮转

一、处理日志的进程

rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron... httpd/nginx/mysql: 可以自己的方式记录日志
[root@linux-server ~]# ps aux |grep rsyslogd
root        752  0.0  0.2 216440  5548 ?        Ssl  20:18   0:00 /usr/sbin/rsyslogd -n
​
日志配置主文件:
/etc/rsyslog.conf

二、常见的日志文件(系统、进程、应用程序)

#tail -f /var/log/messages                  #动态查看日志文件的尾部,系统主日志文件
​
#tail -f /var/log/secure                    #记录认证、安全的日志
​
tail /var/log/maillog                       #跟邮件postfix相关
​
#tail /var/log/cron                         #crond、at进程产生的日志
​
tail /var/log/dmesg                         #和系统启动相关
​
#tail /var/log/yum.log                       #yum的日志
​
tail -f /var/log/mysqld.log                 #MySQL日志
​
tail /var/log/xferlog                       #和访问FTP服务器相关
​
/var/log/boot.log                           #系统启动过程日志记录存放
​
#[root@linux-server ~]#w                       #当前登录的用户 /var/log/wtmp
​
#[root@linux-server ~]#last                #最近登录的用户 /var/log/btmp
第一列,用户名;
第二列,终端位置,/pts/0 (伪终端)意味着从诸如ssh或者telnet的远程链接的用户,tty(teletypewriter)意味着直接连接到计算机或者本地链接的用户;
第三列,登录的ip或者内核。
第四列,开始时间;
第五列,结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机);
​
[root@linux-server ~]#lastlog              #所有用户的登录情况 /var/log/lastlog

日志优先级

日志级别分为:7种日志级别代号0-7
​
0 debug             #有调试信息的,日志信息最多
​
1 info              #一般信息的日志,最常用
​
2 notice            #最具有重要性的普通条件的信息
​
3 warning           #警告级别
​
4 err               #错误级别,阻止某个功能或者模块不能正常工作的信息
​
5 crit              #严重级别,阻止整个系统或者整个软件不能工作的信息
​
6 alert             #需要立刻修改的信息
​
7 emerg             #内核崩溃等严重信息
​
none                #什么都不记录

二、logrotate日志轮转

什么是日志轮转? 自动切日志
注:可以针对任何日志文件(rsyslog 日志、Nginx访问或错误日志...)
一、logrotate (轮转,日志切割) 
1. 如果没有日志轮转,日志文件会越来越大
2. 将丢弃系统中最旧的日志文件,以节省空间 
3. logrotate本身不是系统守护进程,它是通过计划任务crond每天执行
logrotate 配置文件:
主配置文件:/etc/logrotate.conf (决定每个日志文件如何轮转)
配置日志轮转
[root@linux-server ~]# vim /etc/logrotate.conf  
weekly              #轮转的周期,一周轮转,单位有年,月,日 
rotate 4            #保留4份 
create              #轮转后创建新文件 
dateext             #使用日期作为后缀 
#compress           #日志轮替时,旧的日志进行压缩 
include /etc/logrotate.d             #包含该目录下的配置文件,会引用该目录下面配置的文件
​
/var/log/wtmp {                     #对该日志文件设置轮转的方法    monthly                            #一月轮转一次  minsize 1M                         #最小达到1M才轮转,否则就算时间到了也不轮转create 0664 root utmp              #轮转后创建新文件,并设置权限   rotate 2                           #保留2份 
}
​
/var/log/btmp {    missingok                          #丢失不提示    monthly                            create 0600 root utmp              rotate 1                           
}

实战案例

例1:轮转文件/var/log/yum.log
​
[root@linux-server ~]# vim /etc/logrotate.d/yum    
/var/log/yum.log {missingok                                #丢失不提醒#notifempty                              #空文件不轮转 #size 30k                                  #只要到了30k就轮转#yearlydaily                                     #每天轮转一次   rotate 3      create 0644 root root 
}
​
测试:
[root@linux-server ~]# /usr/sbin/logrotate /etc/logrotate.conf    #手动轮转
[root@linux-server ~]# ls /var/log/yum*
/var/log/yum.log  /var/log/yum.log-20191110
​
[root@linux-server ~]# grep yum /var/lib/logrotate/logrotate.status #查看记录所有日志文件最近轮转的时间
"/var/log/yum.log" 2019-11-10-21:26:14
​
2:日志安全,操作日志的隐藏权限
[root@localhost log]# cd /etc/logrotate.d/
[root@localhost logrotate.d]# vim syslog
建议测试时先把/etc/logrotate.d/syslog中messages删除,然后在下面添加如下:
/var/log/messages{prerotate       在轮转之前chattr -a /var/log/messages    endscript#notifemptydailycreate 0600 root rootmissingokrotate 3
​postrotate          在轮转之后chattr +a /var/log/messagesendscript
}
[root@localhost logrotate.d]# /usr/sbin/logrotate /etc/logrotate.conf  #手动轮转
[root@localhost logrotate.d]# cd /var/log/
[root@localhost log]# ls mess*
messages  messages-20200805  messages-20200806
​
参数解释:
prerotate/endscript - 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript - 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
​
size
触发分割的条件是:1.日志大小达到这个值,和时间周期没有关系。
minsize
触发分割的条件是:1.时间周期到了,2.日志大小达到这个值;两个条件都要满足。
maxsize
触发分割的条件是:1.时间周期到了,2. 日志大小大于这个值;两个条件任何一个满足。

作业

1.测试当日期和星期发生冲突的时候以哪个为准,还是取或的关系,全部都执行?
2.计划每星期天早8点服务器定时重启,如何实现?
3.某系统管理员需要每天做一定的重复工作,编制一个解决方案:
(1).从下午 4:50 删除/abc 目录下的全部子目录和全部文件;
(2).每逢周一下午 5:50 将/data目录下的所有目录和文件归档并压缩为文件backup.tar.gz;
(3).在早上 8:00 开机后启动crontab。

木马:两个国家打架的故事。

如果docker运行中,想要关闭防火墙,需要重启docker

这篇关于就业班 2401--3.7 Linux Day13--日志轮转+jumpserver堡垒机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/785022

相关文章

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-