就业班 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使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li