Linux运维(2)
1.如何处理僵尸进程
僵尸进程:由于各种原因导致某个进程挂掉了,但是进程本身仍然存在,还占用着系统资源,这种异常进程僵尸进程。
查找:未来通过ps aux过滤 Z状态即可找出僵尸进程或top命令查看.
解决:
方案01:找出僵尸进程上级进程,结束进程即可
方案02:如果上级进程是主进程(pid为1进程),则需要重启Linux系统
2.进程监控指令
3.ps命令
ps -ef
UID 进程属于的用户
PID 进程id号,大部分都是随机.
PPID 父进程的id号, pstree -p查看详细关系
CMD 进程名字
ps aux
比-ef多了一些,cpu使用率,内存使用率,占用内存大小,进程状态
ps aux每一列含义
4.进程状态
5.软件后台运行方法
6.杀手三剑客
7.负载高排查流程
排查流程
1️⃣通过监控软件发现系统负载高(w,lscpu查看).
2️⃣判断是cpu还是io导致的负载高.
cpu高:top中的 us(user 用户占用cpu) sy(system 系统占用cpu)
io高: top中的 wa(iowait) 磁盘io导致的负载高
3️⃣
🅰如果是cpu导致的,排查出哪个进程导致的ps aux过滤出占用cpu较高的进程。
🅱如果是io导致的,排查初级哪个进程导致的,通过iotop -o命令排查。
4️⃣未完待续.(具体分析这个进程有啥问题,第2阶段再说)
8.服务管理
9.Linux 运行级别
10.Linux启动流程
11.L i n u x r o o t密码忘记如何解决
尽可能避免这个情况出现:
1. 多准备个备用用户,普通用户设置sudo权限。
2. 未来不仅仅只有密码认证,还有其他认证方式。
3. 做好密码更新与统计工作。keepass保存密码。 excel表格。
重启Linux密码需要重启Linux.
1️⃣重启Linux
2️⃣进入grub菜单(先不要继续)选择第1个(目前使用中的Linux内核),按 e ,编辑内核配置。
3️⃣找到Linux16的行,修改这一行的内容 ro 改为 rw ,按 END 键到这一行的最后,输入 init=/bin/bash
4️⃣修改完成,执行ctrl+x启动系统,进入救援模式(此时无法远程连接)。
5️⃣通过vi/vim编辑/etc/passwd文件,去掉root的x标记(没有密码了),重启Linux.
6️⃣本地登录Linux设置个密码即可
12.磁盘管理体系
13.磁盘接口
14.磁盘内部接口
15.Raid(多块磁盘组合)级别
16.硬盘命名
#磁盘接口:
sas/sata/scsi接口的硬盘,硬盘名字是以sd开头
虚拟机(kvm)/公有云: 硬盘名字是以vd开头
#第几块硬盘:通过字母表示从字母a开始一次类推。
/dev/sda
#第1块硬盘(SAS)接口
/dev/sda
17.一块硬盘,磁盘分区三部曲
打隔断:分区操作
装修,格式化:创建文件系统
安装门窗:挂载(命令,配置文件)
18.前挂载整个流程:
1.磁盘分区:fdisk命令
2.磁盘格式化:格式化:创建文件系统, mkfs mkfs -t xfs === mkfs.xfs
3.磁盘挂载:mount(临时), 永久:/etc/rc.local 或 /etc/fstab
19.实现永久挂载的方案:
方案1️⃣ 使用rc.local ,把挂载命令 mount /dev/sdb1 /data/ 写入到/etc/rc.local,注意命令最好写为绝对路径
方案2️⃣专业的开机自动挂载的配置文件/etc/fstab ,根据配置文件的要求把mount命令改为配置文件形式即可。
20.磁盘管理
21.企业分区方案
不重要的数据
重要数据
不知道是否重要
22.磁盘空间不足排障
23.文件系统
24.磁盘性能指标
25.引号系列
26.重定向符号
27.通配符
28.正则分类
29.正则
30.基础正则
31.扩展正则
32.perl正则
33.三剑客sed
过滤:
行号,行号范围
模糊过滤或查询
模糊范围
替换
格式 s ˂ g
修改文件内容 -i -i.bak
反向引用:
类似于awk取列,取出某行中指定的内容.
本质:通过正则进行匹配,通过()进行分组,通过后面使用\1 \数字获取前面分组的内容.
把你想要获取的内容,通过()与正则保护起来,然后在后面2个符号之间他通过,\数字进行使用与调用.
删除: d删除行.
增加: cai
a append 如果多行,加上\n即可.
i insert
c replace
选项
-n 取消默认输出 -n p一起使用.
-i -i.bak
-r
34.四剑客
35.awk取行取列小结
awk + NR 取出指定的行,指定范围的行. 例:awk 'NR=1{print $0}' /etc/passwd
awk + ˌ 过滤 例:awk 'NR>=2 && NR<=5' /etc/passwd
awk中取列的时候说明:
$数字,表示取列,$1 第1列 $0表示这一行.
$NF 最后一列
NF Number of Field 每行有多少列
$(NF-1) 取出倒数第2列,一般用于正向取发生变化或数字过大.
awk取列的时候,默认是通过空白字符进行分割的.
空白字符:空格,连续空格,tab键.
但是一些时候使用默认分隔符不够了,需要我们手动指定分隔符,通过-F选项指定.
未来我们想快速取出想要的内容,选择趁手工具(选好分隔符).
选择分隔符建议: 看你目标两边是啥
如果是空格,连续空格,tab键直接使用awk取列即可,$1,$2,$NF
其他情况需要通过-F指定分隔符+正则实现 [] []+ |
36.服务使用流程
37.定时任务目录结构
38.配置命令
39.定时任务时间部分
40.故障案例
1.现象:
邮件服务开启: 不断收到邮箱 You have new mail in /var/spool/mail/root
邮件服务关闭: 一些邮件的临时目录不断堆积小文件. /var/spool/postfix/maildrop
原因:
定时任务运行命令或脚本的时候,命令或脚本有输出,定时任务就会通过邮件形式发送给root.
解决:
定时任务中命令或脚本定向到空或追加到文件.
41.csv表格:通过逗号分割的内容