linux文件系统与日志分析

ls -i查inode号 stat 文件(123) 文件详细内容

文件存储在硬盘上,最小存储单位“扇区”

block:连续的八个扇区组成一个人block ,4k

文件存储的最小单位

inode:索引节点 i节点 存储文件元信息

atime(accesstime):访问时间

当使用这个文件的时候就会更新这个时间。

mtime(modification time):更改时间

当修改文件的内容数据的时候,就会更新这个时间,而更改权限或者属性,mtime不会改变,这就是和ctime的区别。

ctime(status time):最后一次改变时间

当修改文件的权限或者属性的时候,就会更新这个时间,ctime并不是create time,更像是change time,

只有当更新文件的属性或者权限的时候才会更新这个时间,但是更改内容的话是不会更新这个时间。

目录文件结构

文件名1

inode号

文件名2

inode号

用户访问文件 cat 123 linux中先找123的inode号 通过inode号识别不同文件类型(先的身份后文件)

使用vim后(:wq!) inode号会变

unzip 解压zip文件

find /opt -inum inode号 -exec rm -rf {} \;删文件目录

find /opt -inum inode号 -delete 删文件

恢复EXT类型的文件

用extundelete 恢复ext3类型文件

安装依赖包

yum -y install e2fsprogs-devel e2fsprogs-libs

wget下载extundelete

tar -jxvf extundelete-0.2.4.tar.bz2

cd extundelete-0.2.4/

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl

./configure --prefix=/usr/local/extundelete && make && make install #指定路径并安装

ln -s /usr/local/extundelete/bin/* /usr/bin/ #创建快捷方式

进入挂载磁盘ls -ai 发现inode号从2开始

删除实验文件

切换目录extundelete /dev/sdb1 --inode 2

unmount /dev/sdb1 /opt/data

extundelete /dev/sdb1 --restore -all

恢复到当前目录

恢复xfs类型文件

xfsdump 备份 xfsrestore 恢复

rpm 常用命令

1.安装一个包

# rpm -ivh

2.升级一个包

# rpm -Uvh

3.卸载一个包

# rpm -e

4.安装参数

--force 即使覆盖属于其它包的文件也强迫安装

--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

5.查询一个包是否被安装

# rpm -q < rpm package name>

6.得到被安装的包的信息

# rpm -qi < rpm package name>

7.列出该包中有哪些文件

# rpm -ql < rpm package name>

8.列出服务器上的一个文件属于哪一个RPM包

#rpm -qf

9.可综合好几个参数一起用

# rpm -qil < rpm package name>

10.列出所有被安装的rpm package

# rpm -qa

先rpm -qa | grep xfsdump 查看是否安装

xfsdump -f /opt/dump-sdb2 /dev/sdb2 [-L dump-sdb2 -M sdb2]

/dev/sdb2 要备份的已挂载设备

-L 指定标签 -M sdb2 指定设备

日志文件

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

非独立都写里面(服务开启关闭等)

auth 用户认证时产生的日志

authpriv ssh、ftp等登录信息的验证信息

daemon 一些守护进程产生的日志

ftp FTP产生的日志

lpr 打印相关活动

mark rsyslog服务内部的信息,时间标识

news 网络新闻传输协议(nntp)产生的消息。

syslog 系统日志

uucp Unix-to-Unix Copy 两个unix之间的相关通信

console 针对系统控制台的消息。

cron 系统执行定时任务产生的日志。

kern 系统内核日志

local0~local7 自定义程序使用

mail 邮件日志

user 用户进程

w #显示目前登入系统的用户信息

last #列出截止目前登录过系统的用户信息

lastb #查询登录失败的用户记录

程序自己维护日志记录,httpd 网站服务程序使用两个日志文件:

(查看相对独立的)使用增删改查都会显示)

access_log #记录客户访问事件

error_log #记录错误事件。

日志管理工具journalctl,日志的配置文件是/etc/systemd/journald.conf

查看所有日志

journalctl

journalctl -r #-r表示倒序,从尾部看(推荐)

查看内核日志(不显示应用日志)

journalctl -k

查看系统本次启动的日志

journalctl -b [-0]

查看上一次启动的日志(需更改设置,如上次系统崩溃,需要查看日志时,就要看上一次的启动日志)

journalctl -b -1

显示尾部指定行数的日志

查看的是/var/log/messages的日志,但是格式上有所调整,如主机名格式不一样而已

journalctl -n 20

#查看某个服务的日志

journalctl -u nginx.service

#查看指定进程的日志

journalctl _PID=1

#查看指定用户的日志

journalctl _UID=0 --since today 今天的日志

journalctl _UID=0 --since yesterday 昨天的日志

journalctl -xe

# -x 是目录(catalog)的意思,在报错的信息下会,附加解决问题的网址

#-e pager-end 从末尾开始看

实验

实验一:将ssh服务日志单独存放

闭服务端和客户端防火墙、selinux

[root@localhost logs]# setenforce 0

[root@localhost logs]# systemctl stop firewalld

[root@localhost logs]# vim /etc/rsyslog.conf

Save boot messages also to boot.log

local7.* /var/log/boot.log

local6.* /var/log/ssh.log

[root@localhost logs]# vim /etc/ssh/sshd_config

Logging

#SyslogFacility AUTH

#SyslogFacility AUTHPRIV #注释掉

SyslogFacility LOCAL6 #添加这一行,可以复制粘贴,必须要大写

重启服务

[root@localhost logs]# systemctl restart sshd

[root@localhost logs]# systemctl restart rsyslog

验证:

另一台:ssh root@192.168.233.21

在192.168.233.21上查看日志 /var/log/ssh.log

配置日志服务器来收集日志 ----------

rsyslog是一个C/S架构,可以通过套接字来进行监听记录工作,可以基于TCP和UDP工作,默认的监听端口是514,只需要在MODULES打开即可。

发送服务器:客户端 192.168.233.21

收集服务器:服务端 192.168.233.22

//关闭服务端和客户端防火墙、selinux

setenforce 0

systemctl stop firewalld

systemctl disable firewalld

配置发送方:

//修改客户端配置文件,并启动服务

vim /etc/rsyslog.conf

#### MODULES ####

#将下面注释取消

$ModLoad imtcp

$InputTCPServerRun 514

#### RULES ####

#*.info;mail.none;authpriv.none;cron.none /var/log/messages --这一行必须注释

*.info;mail.none;authpriv.none;cron.none @@192.168.233.21 #两个@@表示TCP

ip地址表示接受方

systemctl restart rsyslog

netstat -antp | grep 514 #查看端口情况

配置接收方:

//修改服务端配置文件,并启动服务

vim /etc/rsyslog.conf

#将下面四行前的注释取消掉

$ModLoad imtcp

$InputTCPServerRun 514

systemctl restart rsyslog

netstat -antp | grep 514 #查看端口情况

logger "this is ky27"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值