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 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
19 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
31 6
|
7天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
21 7
|
9天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
38 7
|
8天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
7天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
7天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
25 3
|
9天前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
39 5