Linux日志文件系统(二)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: Linux日志文件系统

3.2恢复XFS类型的文件

3.2.1xfs类型文件常用恢复工具

Centos 7系统默认采用xfs类型的文件,xfs类型的文件可使用xfsdump 与xfsrestore 工具进行备份恢复


xfsdump的备份级别有两种:


0表示完全备份;


1-9表示增量备份。


xfsdump的备份级别默认为0。


3.2.2xfsdump常用格式及选项

xfsdump格式:
xfsdump -f 备份存放位置 要备份的路径或设备文件


常用选项 功能
-f 指定备份文件目录
-L 指定标签session label
-M 指定设备标签media label
-S 备份单个文件,-s后面不能直接跟路径

3.2.3xfsdump命令的限制

只能备份已挂载的文件系统

必须使用root的权限才能操作

只能备份XFS文件系统

备份后的数据只能让xfsrestore解析

不能备份两个具有相同UUID的文件系统(可用blkid命令查看)

3.2.4操作步骤及命令详解

xfsrestore -f 恢复文件的位置 存放恢复后文件的位置
##使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
fdisk /dev/sdc #创建磁盘
partprobe /dev/sdb或
mkfs.xfs /dev/ sdc1 # mkfs.xfs [-f] /dev/sdbl 格式化磁盘
mkdir /data
mount /dev/sdc1 /mnt/ #挂载磁盘
cd /data #切换目录
cp /etc/passwd ./ #拷贝文件测试磁盘
mkdir test #创建目录
touch test/a ##创建文件
##使用xfsdump命令备份整个分区
rpm -qa | grep xfsdump #检查命令是否安装
yum install -y xfsdump #安装命令
xfsdump -f /opt/dump_sdc1 /dev/sdb1 [-L dump_sdc1 -M sdc1]
#指定备份的目录和需要备份的磁盘
xfsdump -f /opt/dump_sdc /dev/sdb1 -L dump_sdc -M sdc1


##模拟数据丢失并使用xfsrestore 命令恢复文件
cd /data/
rm -rf ./*
ls
xfsrestore -f /opt/dump_sdb1 /data/


3.2.5示例

  1. 添加一块新的硬盘(参考此篇博客),创建新的分区

  2. 格式化并挂载,在挂载目录/mnt下创建文件


  3. 安装xfsdump,指定备份目录和需要备份的磁盘

  1. 删除文件,做恢复测试



四、日志文件的分析

在Linux系统中日志保存位置默认位于:/var/log目录下

4.1日志文件功能

用于记录系统、程序运行中发生的各种事件

通过阅读日志,有助于诊断和解决系统故障

4.2日志文件的类型

**内核及系统日志:**这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置


**用户日志:**这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登 录的终端、登录时间、来源主机、正在使用的进程操作等


**程序日志:**有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息


4.3不同日志文件保存的位置

主要日志文件介绍

内核及公共消息日志 /var/log/messages
计划任务日志 /var/log/cron
系统引导日志 /var/log/dmesg
邮件系统日志 /var/log/maillog
用户登录日志 /var/log/lastlog
/var/log/secure
/var/log/wtmp
/var/log/btmp

#用户登录日志:


/var/log/secure:记录用户认证相关的安全事件信息。
/var/1og/lastlog:记录每个用户最近的登录事件。二进制格式
/var/1og/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式


详情介绍


内核及公共消息日志 : /var/log/messages:

记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I0错误、网络错误、程序故障等。

对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。



  • 计划任务日志/var/log/cron:记录crond计划任务产生的事件信息
  • 系统引导日志/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
  • 邮件系统日志 /var/log/maillog:记录进入或发出系统的电子邮件活动。


4.4内核及系统日志

4.4.1 由系统服务 rsyslogd 统一管理

软件包:rsyslog-7.4.7-16.el7.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf
vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info //表示info等级及以上的所有等级的信息都写到对应的日志文件里
mail.none //表示某事件的信息不写到日志文件里(这里举例是邮件)如下图:


4.4.2日志消息的级别

Linux系统内核日志消息的优先级别(数字等级越小,优先级越高,消息越重要)


级号 消息 级别 说明
0 EMERG 紧急 会导致主机系统不可用的情况
1 ALERT 警告 必须马上采取措施解决的问题
2 CRIT 严重 比较严重的情况
3 ERR 错误 运行出现错误
4 WARNING 提醒 可能会影响系统功能的事件
5 NOTICE 注意 不会影响系统但值得注意
6 INFO 信息 一般信息
7 DEBUG 调试 程序或系统调试信息等

4.5 用户日志分析

4.5.1用户登录日志位置:

/var/log/secure:记录用户认证相关的安全事件信息。

/var/1og/lastlog:记录每个用户最近的登录事件。二进制格式

/var/1og/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式

/var/run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式

users、who、w、last、lastb

4.5.2用户日志分析工具

users:命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数


who:命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who的默认输出包括用户名、终端类型、登录日期及远程主机


w:命令用于显示当前系统中的每个用户及其所运行的进程信息,比users、who命令的输出内容要丰富一些


last:命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last 命令可以及时掌握Linux.主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵


lastb:命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除了使用 lastb命令查看以外,也可以直接从安全日志文件/var/log/secure中获得相关信息有哪些系统常见日志。


4.6 程序日志分析

4.6.1位置

Web服务: /var/log/httpd/


access_log、 error_log


代理服务: /var/log/squid/


access.log、cache.log、


FTP服务: /var/log/xferlog


4.1.6工具

文本查看、grep过滤检索、Webmin管理套件中查看


awk、sed等文本过滤、格式化编辑工具


Webalizer、Awstats等专用日志分析工具


总结

日志管理策略


1.及时作好备份和归档


2.延长日志保存期限


3.控制日志访问权限


日志中可能会包含各类敏感信息,如账户、口令等


4.集中管理日志


将服务器的日志文件发到统一的日志文件服务器


便于日志信息的统一收集、整理和分析


杜绝日志信息的意外丢失、恶意篡改或删除


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
10
分享
相关文章
|
9天前
|
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
284 69
Grafana Loki,轻量级日志系统
|
2月前
|
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
236 78
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
114 23
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
101 15
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
85 8
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
92 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
2月前
|
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
248 7
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
61 7
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
121 13