Linux命令记载 4

简介: Linux命令记载

十九.分析和排查系统故障

  1. 日志消息的级别
  1. 0 EMERG:紧急
  2. 1 ALERT:警告
  3. 2 CRLT:严重
  4. 3 ERR:错误
  5. 4 WARNING:提醒
  6. 5 NOTICE:注意
  7. 6 INFO:信息
  8. 7 DEBUG:调式

1.日志的功能


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


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


2.日志文件的分类


内核及系统日志


     由系统服务rsyslog统一进行管理,日志格式基本相似


用户日志


     记录系统用户登录及退出系统的相关信息


程序日志


     由各种应用程序独立管理的日志文件,记录格式不统一


3.日志保存位置


      默认位于:/var/log 目录下


4.主要日志文件介绍


内核及系统日志


      /var/log/messages


计划任务日志


      /var/log/cron


系统引导日志


      /var/log/dmesg


邮件系统日志


      /var/log/maillog


用户登录日志


      /var/log/lastlog:最近的用户登录事件


      /var/log/wtmp:用户成功登录、注销及系统开、关机事件,对应命令 last


      /var/log/btmp: 用户失败登录,错误验证尝试事件,对应命令 lastb


      /var/run/utmp:当前登录的每个用户的详细信息,对应查看命令 users  who  w


      /var/log/secure:与用户验证相关的安全性事件


5.日志配置文件


/etc/rsyslog.conf


*.info             #任何服务info级别及以上日志


mail.none      #例外,不记录


6.日志级别


0  EMERG(紧急/疼痛):会导致主机系统不可用的情况


1  ALERT(警告):必须马上采取措施解决的问题


2  CRIT(严重):比较严重的情况


3  ERR(错误):运行出现错误


4  WARNING(提醒):可能会影响系统功能的事件


5  NOTICE(注意):不会影响系统但值得注意


6  INFO(信息):一般信息


7  DEBUG(调试):程序或系统调试信息等


7.日志一般格式


Jun  3 13:26:35 localhost vmusr[2439]: [critical] [GLib-GObject]


时间标签      主机         子系统名      日志级别和信息


8.程序日志


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


Web服务:/var/log/httpd/


access_log、error_log


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


access.log、cache.log、


9.分析工具


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


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


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


10.日志管理策略


及时作好备份和归档


延长日志保存期限


控制日志访问权限:日志中可能会包含各类敏感信息,如账户、口令等


集中管理日志:


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


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


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


11.MBR故障修复


Mbr扇区    


      引导程序GRUB   446


      分区表          64


      结束标志      2


故障原因:


      病毒、木马等造成的破坏


      不正确的分区操作、磁盘读写误操作


故障现象:


      找不到引导程序,启动中断


      无法加载操作系统,开机后黑屏


解决思路:


      应提前作好备份文件


      以 CentOS 7安装光盘引导进入急救模式


      从备份文件中恢复


   


Mbr扇区故障模拟:


1.添加新硬盘: 分区 fdisk  /dev/sdb    格式化 mkfs.xfs  /dev/sdb1 挂载到 mount /dev/sdb1   /bak


2.备份mbr扇区:dd  if=/dev/sda  of=/bak/mbr.bak  bs=512  count=1


3.模拟故障:dd if=/dev/zero of=/dev/sda bs=512 count=1


4.重启:观察现象


排除故障


1)挂系统盘,进入急救模式 3--2-1


2)重新挂载:mount /dev/sdb1  /aa


3)恢复:dd  if=/aa/mbr.bak   of=/dev/sda  bs=512  count=1


4)exit


12.修复 GRUB 引导故障


故障原因:


      MBR 中的 GRUB 引导程序遭到破坏


      grub.conf 文件丢失、引导配置有误


故障现象:


      系统引导停滞,显示“grub>” 提示符


解决思路:


      尝试手动输入引导命令


      进入急救模式,重写或者从备份中恢复 grub.conf


      向 MBR 扇区中重建 grub 程序


模拟grub引导故障


1.cp  /boot/grub2/grub.cfg   /boot/grub2/grub.cfg.bak


2.Rm  -f   /boot/grub/grub.cfg


3.Reboot


解决grub引导故障


插入系统盘,光盘启动


进入急救模式


chroot  /mnt/sysimage


cp  /boot/grub/grub.cfg.bak    /boot/grub/grub.cfg  


13.修复文件系统


故障原因


      非正常关机、突然断电、设备读写失误等


      文件系统的超级块(super-block)信息被破坏


故障现象


      无法向分区中读取或写入数据


      启动后提示“Give root password for maintenance”


解决思路


      根据提示输入 root 口令,进入修复状态


      使用xfs_repair命令进行修复


模拟故障:


      破坏:  创建分区、格式化,先不要挂载


             dd if=/dev/zero of=/dev/sdb1 bs=512 count=4


      修复:xfs_repair /dev/sdb1


14.硬盘i节点耗尽


故障原因


      磁盘空间已被大量的数据占满,空间耗尽


      虽然还有可用空间,但文件数i节点耗尽


故障现象


      无法写入新的文件,提示“… : 设备上没有空间”


      部分程序无法运行,甚至系统无法启动


解决思路


      清理磁盘空间,删除无用、冗余的文件


      转移或删除占用大量 i 节点的琐碎文件


      进入急救模式进行修复


      为用户设置磁盘配额


模拟故障:


      添加一块硬盘


      划分一个100M的分区,格式化,挂载到/data目录下


      df -i  /data (查看i节点的数量)


      vim  killnode.sh


             #!/bin/bash


             i=1


             while [ $i -le 前面查到的i节点数 ]


             do  


                    touch /data/file$i


                    let i++


             done


      sh   killnode.sh &


   


15.磁盘坏道


故障原因


      磁盘设备中存在坏道(逻辑的或物理的)


故障现象


      读取磁盘中的数据时,磁盘设备发出异常声响。


      访问磁盘中的某个文件时,反复读取且出错,提示文件损坏


      对于新建立的分区无法完成格式化


      系统使用该磁盘时频繁死机


解决思路


      检测硬盘中是否存在坏道


      修复硬盘,或更换新的硬盘


      badblocks -sv /dev/sdb

make方法

make clean #清除上一次make命令生成的文件

make distclean #清除上一次make以及configure命令生成的文件

make -j 4 #使用4进程同时编译,提升编译速度

XFS增量备份

语法:xfsdump -f 备份目标位置 备份目录(挂载目录或磁盘分区)

提示:编写标签,第一次为会话标签,第二次为设备标签

免交互备份:

语法:xfsdump -f 存放位置 备份目录 -L 会话标签 -M 设备标签

xfsdump -f /opt/dump_sda1 /dev/sda1 -L dump_sda1 -M sda1_is

指定只备份分区中某个目录

参数:-s 文件路径 只能指定的问价进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)

格式:xfsdump -f /opt/233_dump -s 233.txt /dev/sdb1  -L dump_233 -M sdb1

查看备份记录

xfsdump -I

文件系统恢复

语法:xfsrestore -f 指定恢复文件的位置  指定存放恢复后的文件的路径

恢复单个文件

语法:xfsrestore -f 恢复文件路径 -s 恢复文件 恢复目录

增量备份

先备份完整备份

语法:xfsdump -l 1 -f 备份保存位置 备份文件

-l  做一个等级为1的备份

恢复增量备份

语法:xfsrestore -f 恢复文件  恢复目标位置

注:按顺序恢复增量备份,恢复数据会不完整

windows文本文件上传到Linux上出现乱码

解决:

格式:iconv -f gb2312 -t utf8 乱码文件 -o 转换为的名称

在Linux上编写的shell脚本到windowx上出现没有换行

解决:

工具:dos2unix unix2dos等工具

格式: dos2unix Linux上的shell文件

使用远程xshell命令上传文件和下传文件

注:需要rz工具下载,只可以用于远程工具连接

rz本地上传文件   sz下传文件

系统监控

proc文件系统

和整个Linux系统相关的参数如下:


/proc/cmdline:加载kernal时的相关指令与参数


/proc/cpuinfo:CPU相关的信息,包括频率,类型与运算能力


/proc/devices:记录了系统各个主要设备的主设备号码


/proc/filesystems:记录系统加载的文件系统


/proc/loadavg:平均负载值top看到的


/proc/meminfo:内存信息,free命令查看的


/proc/modules:系统已经加载的模块


/proc/mounts:系统已经挂载的数据


/proc/partitons:系统的分区文件


/proc/version:系统的核心版本uname -a看到的内容常用的系统监视命令:

  1. uptime

显示顺序:现在的时间,系统运行时间,目前多少登录用户,系统在过去一分钟,5分钟,15分钟内的平均负载。

[root@localhost 1]# uptime

07:32:01 up 15 min,  1 user,  load average: 0.00, 0.01, 0.02

  1. free
显示当前系统未使用和已经使用的内存数目。
[root@localhost 1]# free -h
              total        used        free      shared  buff/cache   available
Mem:           976M         79M        761M        7.0M        135M        745M
Swap:          2.0G          0B        2.0G
————————————————
版权声明:本文为CSDN博主「努力买大G」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuan130625/article/details/132405150
  1. vmstat
显示虚拟内存状态,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。
[root@localhost 1]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 779916    896 138060    0    0    93     5   44  111  0  0 100  0  0
————————————————
版权声明:本文为CSDN博主「努力买大G」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuan130625/article/details/132405150
  1. mpstat

最大特点:可以查看CPU中每个计算机核心的统计数据。

注:需要安装sysstat

  1. iostat

用于监视系统输入输出设备和CPU的使用情况。能查看到系统IO情况信息,从而确定IO性能是否存在瓶颈。

  1. sar

sar是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况,系统调用的使用情况,磁盘I/O,CPU效率,内存使用情况,进程活动及IPC有关的活动等。


sar命令常用格式:sar [options] [-A] [-o file] t [n] 其中:


t为采样间隔,n为采样次数,默认值是1;


-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。


options 为命令行选项,sar命令常用选项如下:


-A:所有报告的总和


-u:输出CPU使用情况的统计信息


-v:输出inode、文件和其他内核表的统计信息


-d:输出每一个块设备的活动信息


-r:输出内存和交换空间的统计信息


-b:显示I/O和传送速率的统计信息


-a:文件读写情况


-c:输出进程统计信息,每秒创建的进程数


-R:输出内存页面的统计信息


-y:终端设备活动情况


-w:输出系统交换活动信息


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
24 2
Linux系统之lsof命令的基本使用
|
4天前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
30 14
|
1天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
1天前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
9 4
|
6天前
|
Linux
Linux经常使用命令汇总和总结
Linux经常使用命令汇总和总结
25 1
|
6天前
|
安全 Linux Shell
Linux | Rsync 命令:16 个实际示例(上)
Linux | Rsync 命令:16 个实际示例(上)
19 0
Linux | Rsync 命令:16 个实际示例(上)
|
9天前
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
20 2
|
10天前
|
运维 Java Linux
Linux 下命令后台运行秘籍:无惧终端断开的魔法
本文详细介绍了在 Linux 系统下使命令不受终端断开影响、持续在后台运行的多种方法及其原理。包括使用 `nohup`、`setsid`、括号括起来、作业调度和 `screen` 等技巧,帮助读者提高工作效率,确保任务不被意外中断。
40 0
Linux 下命令后台运行秘籍:无惧终端断开的魔法
|
4天前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
12 0
|
8天前
|
Linux
linux/mac 下查看、修改文件权限的命令
这篇文章介绍了在Linux和Mac操作系统下如何查看和修改文件及文件夹的权限。
13 0