11.Linux文件系统与日志分析二

文章详细介绍了Linux中XFS文件系统的备份与恢复,使用xfsdump和xfsrestore工具进行操作,并探讨了cpio命令在文件复制中的应用。同时,文章还涵盖了日志文件的重要性,内核及系统日志的日志级别,以及如何管理和分析日志,包括rsyslog服务和不同日志文件的用途。
摘要由CSDN通过智能技术生成

Linux文件系统与日志分析

恢复XFS类型的文件

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

  • xfsdump 的命令格式为:
 xfsdump   —f   备份存放位置    要备份的路径或设备文件
  • xfsdump备份级别
0      #表示完全备份
1—9    #表示增量备份
xfsdump 的备份级别默认为0
xfsdump 命令常用的选项:

—f:指定备份文件目录
-L:指定标签 session labe1 
-M:指定设备标签 media 1abel
—s:备份单个文件,—s后面不能直接跟路径
xfsdump使用限制:
1.只能备份已挂载的文件系统
2.必须使用root的权限才能操作
3.只能备份XFS文件系统
4.备份后的数据只能让xfsrestore解析
5.不能备份两个具有相同UUID的文件系统(可用b1kid命令查看)
#使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
fdisk /dev/sdb 
partprobe/dev/sdb 
mkfs.xfs [-f]/dev/sdb1 
mkdir/data
mount /dev/sdb1 /data/ 
cd/data
cp /etc/passwd ./ 
mkdir test 
touch a.txt  test/

在这里插入图片描述
在这里插入图片描述

使用xfsdump命令备份整个分区
rpm -q xfsdump
xfsdump -f /opt/dump_sdb1 /dev/sdb1 -L dump_sdb1 -M sdb1

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

## 恢复删除的文件
xfsrestore -f /opt/dump_sdb1 /data/

在这里插入图片描述
在这里插入图片描述

复制文件–cpio

cpio 命令可以看做是备份或还原命令,因为它可以将数据(文件)备份到 cpio 归档库,也可以利用 cpio 文档库对数据进行恢复

使用 cpio 命令备份或恢复数据,需注意以下几点:

  • 使用 cpio 备份数据时如果使用的是绝对路径,那么还原数据时会自动恢复到绝对路径下;同理,如果备份数据使用的是相对路径,那么数据会还原到相对路径下。
  • cpio 命令无法自行指定备份(或还原)的文件,需要目标文件(或目录)的完整路径才能成功读取,因此此命令常与 find 命令配合使用。
  • cpio 命令恢复数据时不会自动覆盖同名文件,也不会创建目录(直接解压到当前文件夹)。
cpio -ovcB > 文件

各选项含义如下:
-o:copy-out模式,备份;
-v:显示备份过程;
-c:使用较新的portable format存储方式;
-B:设定输入/输出块为 5120Bytes,而不是模式的 512Bytes;

##例如
find /etc -print | cpio -ocvB > /opt/etc.cpio
#利用find命令指定要备份/etc/目录,使用>导出到etc.cpio文件

![在这里插入图片描述](https://img-blog.csdnimg.cn/19b3fceae4664140b815dca0ecccd268.png

cpio -ivcdu < 文件|设备

各选项的含义为:
-i:copy-in 模式,还原;
-v:显示还原过程;
-c:较新的 portable format 存储方式;
-d:还原时自动新建目录;
-u:自动使用较新的文件覆盖较旧的文件;


##例如
cpio -idvcu < /opt/etc.cpio

在这里插入图片描述

"-p" 模式:指的是复制模式,使用 -p 模式可以从某个目录读取所有文件,但并不将其备份到 cpio 库中,而是直接复制为其他文件


##例如
cd /opt
rm -rf *
mkdir test
find /boot/ -print | cpio -p /opt/test
#备份boot  目录   到  /opt/test目录下
ls /opt/boot

在这里插入图片描述

日志文件

  • 日志的功能

    • 用于记录系统、程序运行中发生的各种事件
    • 通过阅读日志,有助于诊断和解决系统故障
  • 日志文件的分类

    • 内核及系统日志

      • 由系统服务rsyslog统一进行管理,日志格式基本相似
      • 主配置文件/etc/rsyslog.conf
    • 用户日志

      • 记录系统用户登录及退出系统的相关信息
    • 程序日志

      • 由各种应用程序独立管理的日志文件,记录格式不统一
#查看日志文件   ,要先确保  rsyslog  服务为开启且为开机自启状态
systemctl status rsyslog
cd /etc/rsyslog.conf

日志保存默认位置  :  /var/log   目录下

在这里插入图片描述
主要日志文件

内核及公共消息日志·/var/log/messages
计划任务日志·/var/log/cron
系统引导日志·/var/log/dmesg
邮件系统日志·/var/log/maillog
用户登录日志·/var/log/lastlog
·/var/log/secure
·/var/log/wtmp
·/var/run/btmp
/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等,对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

/var/log/cron:记录crond计划任务产生的事件信息。
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
/var/log/maillog:记录进入或发出系统的电子邮件活动。
/var/log/lastlog:记录每个用户最近的登录事件。(只记录成功的信息,且是二进制文件)
/var/log/rpmpkgs:记录系统中安装的各rpm包列表信息。
/var/log/secure:记录用户认证相关的安全事件信息。
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
/var/run/btmp:记录失败的、错误的登录尝试及验证事件。

内核及系统日志

  • 由系统服务 rsyslog 同一管理
    • 软件包 rsyslog
    • 主要程序 : /sbin/rsyslogd
    • 配置文件 : /etc/rsyslog.conf
日志消息级别

数字等级越小,优先级越高,消息越重要

none 没有优先级,不记录任何日志消息

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

在这里插入图片描述

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

##*.info:表示从info级别往上都能记录
##mail.none:mail日志都不做记录

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure


# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log
### local7  表示用户自定义
举例:

mail.info /var/log/maillog 
比指定级别更高的日志级别,包括指定级别自身,保存到/var/log/maillog中

mail.=info /var/log/mai1log 
明确指定日志级别为info,保存至/var/log/maillogl

mail.!info  /var/log/maillog 
除了指定的日志级别(info)所有日志级别信息,保存至/var/log/maillog

*.info  /var/1og/mail1oq 
所有facility的info级别,保存至/var/log/maillocl

mail.* /var/1og/maillog 
mail的所有日志级别信息.都保存至/var/log/maillogl

mail.notice;news.info /var/log/maillog 
mail的notice以上记得日志级别和news的info以上的级别保存至/var/log/maillog

mail,news.crit —/var/log/maillog 
mail和news的crit以上的日志级别保存/var/log/maillog中
“—”代表异步模式

设备字段说明
auth用户认证时产生的日志
authprivssh、ftp等登录信息的验证信息
daemon一些守护进程产生的日志
ftpFTP产生的日志
lpr打印相关活动
markrsyslog服务内部的信息,时间标识
news网络新闻传输协议(nntp)产生的消息
syslog系统日志
uucpUnix-to-Unix Copy 两个unix之间的相关通信
console针对系统控制台的消息
cron系统执行定时任务产生的日志
kern系统内核日志
local0-local7自定义程序使用
mail邮件日志
user用户进程
手动修改程序日志文件存储目录

以   httpd   为例
yum -y insyall httpd
cd /etc/httpd
vim /conf/httpd.conf




ErrorLog "logs/error_log"			##httpd服务的错误日志的默认保存位置

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn



ErrorLog "local5.err"       ##自定义日志保存设备为   local5

在  rsyslog.conf   中添加
local5.*       目标文件 

就可以指定文件日志的保存位置
rsyslog 收集 apache 日志

vim/etc/httpd/conf/httpd.conf 
#ErrorLog logs/error_log 


##方法一:

ErrorLog syslog
#修改配置表示对 error_log 启用 syslog
LogLevel notice
#notice 及以上的 log 全部记录,默认的 facility是 loca17

##方法二:
ErrorLog "|/usr/bin/logger -p local5.notice"
#error_log 全部通过管道写入 syslog,并且 1og的 facility 配置为 local5
#LogLevel warn

#CustomLog logs/access_log combined
CustomLog "|/usr/bin/logger -p local4.info" combined
#access_1og全部通过管道写入syslog,并且1og的Jfacility配置为1oca14 #logger—p指定输入消息的优先级,优先级可以是数字或者指定为"facility.level”的格式

# Save local4 to a file 
local4.*  /opt/apache_access_1og 

# Save local4 to a file

1ocal5.*  /opt/apache_error_log 

用户日志分析
lastb      ##用于查询登陆失败的用户记录
last      ##用于查询成功登陆到系统的用户记录

在这里插入图片描述
在这里插入图片描述

程序日志分析

由相应的应用程序独立进行管理

  • Web服务: /var/log/httpd/

    • access_log //记录客户访问事件
    • error_log //记录错误事件
  • 代理服务:/var/log/squid/

  • access.log、cache.log

  • 分析工具

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

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

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

cd /var/log
vim messages
cat messages | grep httpd
日志管理工作
  • 及时作好备份和归档

  • 延长日志保存期限

  • 控制日志访问权限

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

    • 将服务器的日志文件发到统一的日志文件服务器
    • 便于日志信息的统一收集、整理和分析
    • 杜绝日志信息的意外丢失、恶意莫改或删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

夜海赤竹

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

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

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

打赏作者

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

抵扣说明:

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

余额充值