文件数据包:存储的文件(图片,视频,文本)
linux的存储有两种机制:inode 和 block
1.inode:文件会生成一个inode号 查看inode号的方式:ls -i 123.txt 或者 ls -i 234.txt
2.block:文件必然要占用存储空间,也就是block,block块最小为4K,如果文件大小不满4K,也会占用4K
inode号: 元信息(文件的属性)
1.存储的元信息:里面包含文件的创建者,更改日期,文件的大小,文件的权限,跟随inode号标识,存储在硬盘上的,一般inode号占用的空间在512K左右,小一点的也有128-256字节,如果inode号用完了,既然磁盘还有空间也无法创建数据,(磁盘无法读取时可以查看一下inode号还是否用完,或使用iostat查看磁盘空间用完),一个文件必须需要占用一个inode号,至少占一个块,所以文件必须要有inode号,创建的文件不满4K也要占用一个块。
2.linux一切皆文件,目录也是文件,linux内部怎么识别文件,系统识别的是inode号,对于系统来说,文件名只是inode号的别称,方便用户使用,文件名和inode号一一对应,文件的元信息当中,是不包含文件名的。
stat
stat 命令可以查询文件的详细信息
stat+ 文件名 比如 stat 123.txt 或 stat 234.txt
access :atime :访问这个文件就会改变这个时间
modify :mtime :修改文件数据内容,就会更新
change :ctime :(主要涉及到block块)修改文件的权限或者是属性,更改文件内容也可能会变,也可能不会变
文件名和inode 号剥离之后
1.文件名包含特殊字符,可能无法正常删除,这时可以通过inode号,直接找到数据所在块,直接删除
2.移动,重命名,不影响inode号
3.一旦打开文件之后,系统全部以inode号来识别文件,这个时候文件名就不在系统考虑范围之内
4.vim编辑器修改文件内容,可能会生产新的inode号,但不绝对
5.文件名不在元信息当中的
如果有些删除不掉的的乱码文件可以通过索引号进行删除
实验
实验二
全量恢复文件
实验三
ssh服务日志单独存放
先关防火墙,两个主机都要关
1.systemctl stop filewalld
2.setenforce 0
3.vim /etc/rsyslong.conf
4.local6.* /var/log/ssh.log
5.vim /etc/ssh/sshd_config
6.在SyslogFacility AUTHPRIV 前面加上注释 #
7.加上SyslogFacility LOCAL6 之后wq!保存退出
8.刷新两个文件配置 否则无法生效
systemctl restart rsyslog.service
systemctl restart sshd
9.切换c2主机输入 ssh root@192.168.192.24 请求登录c1主机
10.输入c1主机root管理员用户密码
11.cd /var/log 查看是否有ssh.log文件
12.切换回c1主机查看日志
实验四
c2主机
1.关防火墙,systemctl top filewalld , setenforce 0 。
2.vim /etc/rsyslog.conf
3.*.info;mail.none;authpriv.none;cron.none @@192.168.192.24
一个@表示使用UDP,两个@@表示使用TCP
4.刷新systemctl restart rsyslog.service
5.查看netstat -antp | grep 514 是否处于启动状态
6.切换到c1 vim /etc/rsyslog.conf
$Modload imtcp
$InputTCPServerRun 514
7.systemctl restart rsyslog.service 刷新
8.netstat -antp | grep 514
9.tail-f /var/log/messages
文件恢复
ext4 格式的只能在centos 6 恢复 ,所以用ext3 来模拟一下
extundelete 数据恢复工具,支持ext3 和ext4
extundelete /dev/sdb2 --inode 2
查看文件系统ext3 4 存在那些文件
目录下的索引号,inode号 2是第一个,也就是这个文件系统最开始的
xfs文件系统进行备份和恢复文件
centos7 默认使用xfs文件系统
xfsdump的备份是有级别的,0表示全量,1-9表示增量备份
xfsdump的命令格式和选项
-f :指定设备文件的目录
-L:指定目录标签
-l:指定备份级别
-M:指定设备标签
-s:备份单个文件 -s后面不能直接跟路径,一般不会备份单个文件
xfsdump -f备份文件的存放位置,加上要备份的路径和设备,最后要用 [指定标签]
xfsdump使用是有限制的
1.只能恢复已经挂载的文件系统设备
2.只能备份xfs文件系统
3.必须要有root权限
4.数据恢复只能通过xfsrestore解析,进行恢复
5.如果两个设备的UUID相同,不能进行备份
数据要先备份才能恢复:xfsdump :备份磁盘数据 ,xfsrestore :恢复数据
查看日志
内核以及系统日志 rsyslog 进行统一管理
配置文件 :/etc/rsyslog.conf ,linux 大部分配置文件都是固定格式结尾 httpd.conf ,nginx.conf ,配置文件里面的内容是固定格式
linux系统本身产生的日志,大部分服务器自带程序的日志文件,以及第三方应用服务程序的控制日志都在/var/log目录下,有个特殊的:业务日志 ,只会记录自身的业务记录,并不会记录在系统日志当中,打不开程序去系统日志 messages 查看,用不了程序要去业务日志 log 查 看,
/etc/rsyslog.conf 包含了系统需要记录的日志类型和级别
系统服务日志的核心配置文件,修改配置文件可以更改系统记录日志的方式
/var/log.maessages : 内核日志,各种应用程序包括第三方程序的控制日志
/var/log/cron :定时任务的日志记录
/var/log/dmesg:系统引导
日志记录的规则
日志级别:0 -7
0:EMERG : emerg 紧急
1:ALERT : alert 警告
2:CRIT : crit 严重
3:ERR : err 错误 服务或者程序运行时出现错误
4:WARNING :warning 可能会影响系统功能,需要提示用户注意,并非报错
5:NOTICE:notice 不会影响正常功能,但是需要注意,一般不做处理,比如有一个用户登陆了系统,会提示一下
6:INFO : info ;信息 一般信息,系统的证信息
7:DEBUG:none: 调试,主要是调试程序用到的 debug
none没有优先级,而且不记录任何日志消息
*.info :表示所有info级别的日志,包括info级别以上的事件信息,保存到/var/log/messages
*.=info: 明确指定只保存info级别的日志,其他都不要
*.!info:取反,除了info级别的都要
*.info; *.notice :包含info和notice的日志,以及以上级别的日志,都要
设备字段
auth :用户认证
authpriv:认证的是远程登录产生的日志信息,ssh
news:网络新闻信息记录的时间信息
cron:定时任务日志
kern:内核的时间消息
mail:邮件日志
user:用户进程记录的日志
uucp:进程间的通信日志
*.info;mail.none;authpriv.none;cron.none /var/log/messages
所有有的设备字段都包含,只到info级别,而且还包含info级别以上的日志,除了mail,authpriv,cron 记录到/varlog/messages,多个设别可以用 , 隔开
同步模式:程序在完成一个任务之后,必须等待处理结果返回之后才能处理下一个任务
异步模式:处理完之后不必等待返回结果,就可以继续处理其他任务
local7 :自定义服务,可以自己定义一些服务,把他的日志记录到 /var/log/test ,0 - 7 的意思为0-7级别都可以
日志格式:记录的内容
sep 7 12:50:01 test1 systemd: started session 25 of user root :
时间戳 test1主机 子系统名称 消息或者发生事件的具体内容
分析工具
users:展示登录当前系统的用户
w:显示目前登录系统的详细信息
last:列出截止目前登陆过系统的用户信息
lastd:列出登录失败的用户信息记录