Linux運(yùn)維(2)
1.如何處理僵尸進(jìn)程
僵尸進(jìn)程:由于各種原因?qū)е履硞€進(jìn)程掛掉了,但是進(jìn)程本身仍然存在,還占用著系統(tǒng)資源,這種異常進(jìn)程僵尸進(jìn)程。
查找:未來通過ps aux過濾 Z狀態(tài)即可找出僵尸進(jìn)程或top命令查看.
解決:
方案01:找出僵尸進(jìn)程上級進(jìn)程,結(jié)束進(jìn)程即可
方案02:如果上級進(jìn)程是主進(jìn)程(pid為1進(jìn)程),則需要重啟Linux系統(tǒng)
2.進(jìn)程監(jiān)控指令

3.ps命令
ps -ef
UID 進(jìn)程屬于的用戶
PID 進(jìn)程id號,大部分都是隨機(jī).
PPID 父進(jìn)程的id號, pstree -p查看詳細(xì)關(guān)系
CMD 進(jìn)程名字
ps aux
比-ef多了一些,cpu使用率,內(nèi)存使用率,占用內(nèi)存大小,進(jìn)程狀態(tài)
ps aux每一列含義

4.進(jìn)程狀態(tài)

5.軟件后臺運(yùn)行方法

6.殺手三劍客

7.負(fù)載高排查流程
排查流程
1??通過監(jiān)控軟件發(fā)現(xiàn)系統(tǒng)負(fù)載高(w,lscpu查看).
2??判斷是cpu還是io導(dǎo)致的負(fù)載高.
cpu高:top中的 us(user 用戶占用cpu) sy(system 系統(tǒng)占用cpu)
io高: top中的 wa(iowait) 磁盤io導(dǎo)致的負(fù)載高
3??
??如果是cpu導(dǎo)致的,排查出哪個進(jìn)程導(dǎo)致的ps aux過濾出占用cpu較高的進(jìn)程。
??如果是io導(dǎo)致的,排查初級哪個進(jìn)程導(dǎo)致的,通過iotop -o命令排查。
4??未完待續(xù).(具體分析這個進(jìn)程有啥問題,第2階段再說)
8.服務(wù)管理

9.Linux 運(yùn)行級別

10.Linux啟動流程

11.L i n u x r o o t密碼忘記如何解決
盡可能避免這個情況出現(xiàn):
1. 多準(zhǔn)備個備用用戶,普通用戶設(shè)置sudo權(quán)限。
2. 未來不僅僅只有密碼認(rèn)證,還有其他認(rèn)證方式。
3. 做好密碼更新與統(tǒng)計(jì)工作。keepass保存密碼。 excel表格。
重啟Linux密碼需要重啟Linux.
1??重啟Linux
2??進(jìn)入grub菜單(先不要繼續(xù))選擇第1個(目前使用中的Linux內(nèi)核),按 e ,編輯內(nèi)核配置。
3??找到Linux16的行,修改這一行的內(nèi)容 ro 改為 rw ,按 END 鍵到這一行的最后,輸入 init=/bin/bash
4??修改完成,執(zhí)行ctrl+x啟動系統(tǒng),進(jìn)入救援模式(此時無法遠(yuǎn)程連接)。
5??通過vi/vim編輯/etc/passwd文件,去掉root的x標(biāo)記(沒有密碼了),重啟Linux.
6??本地登錄Linux設(shè)置個密碼即可
12.磁盤管理體系


13.磁盤接口

14.磁盤內(nèi)部接口

15.Raid(多塊磁盤組合)級別

16.硬盤命名
#磁盤接口:
sas/sata/scsi接口的硬盤,硬盤名字是以sd開頭
虛擬機(jī)(kvm)/公有云: 硬盤名字是以vd開頭
#第幾塊硬盤:通過字母表示從字母a開始一次類推。
/dev/sda
#第1塊硬盤(SAS)接口
/dev/sda
17.一塊硬盤,磁盤分區(qū)三部曲
打隔斷:分區(qū)操作
裝修,格式化:創(chuàng)建文件系統(tǒng)
安裝門窗:掛載(命令,配置文件)
18.前掛載整個流程:
1.磁盤分區(qū):fdisk命令
2.磁盤格式化:格式化:創(chuàng)建文件系統(tǒng), mkfs mkfs -t xfs === mkfs.xfs
3.磁盤掛載:mount(臨時), 永久:/etc/rc.local 或 /etc/fstab
19.實(shí)現(xiàn)永久掛載的方案:
方案1?? 使用rc.local ,把掛載命令 mount /dev/sdb1 /data/ 寫入到/etc/rc.local,注意命令最好寫為絕對路徑
方案2??專業(yè)的開機(jī)自動掛載的配置文件/etc/fstab ,根據(jù)配置文件的要求把mount命令改為配置文件形式即可。
20.磁盤管理

21.企業(yè)分區(qū)方案
不重要的數(shù)據(jù)

重要數(shù)據(jù)

不知道是否重要

22.磁盤空間不足排障

23.文件系統(tǒng)

24.磁盤性能指標(biāo)

25.引號系列

26.重定向符號

27.通配符

28.正則分類

29.正則

30.基礎(chǔ)正則

31.擴(kuò)展正則

32.perl正則

33.三劍客sed

過濾:
行號,行號范圍
模糊過濾或查詢
模糊范圍
替換
格式 s ? g
修改文件內(nèi)容 -i -i.bak
反向引用:
類似于awk取列,取出某行中指定的內(nèi)容.
本質(zhì):通過正則進(jìn)行匹配,通過()進(jìn)行分組,通過后面使用\1 \數(shù)字獲取前面分組的內(nèi)容.
把你想要獲取的內(nèi)容,通過()與正則保護(hù)起來,然后在后面2個符號之間他通過,\數(shù)字進(jìn)行使用與調(diào)用.
刪除: d刪除行.
增加: cai
a append 如果多行,加上\n即可.
i insert
c replace
選項(xiàng)
-n 取消默認(rèn)輸出 -n p一起使用.
-i -i.bak
-r
34.四劍客

35.awk取行取列小結(jié)
awk + NR 取出指定的行,指定范圍的行. 例:awk 'NR=1{print $0}' /etc/passwd
awk + ? 過濾 例:awk 'NR>=2 && NR<=5' /etc/passwd
awk中取列的時候說明:
$數(shù)字,表示取列,$1 第1列 $0表示這一行.
$NF 最后一列
NF Number of Field 每行有多少列
$(NF-1) 取出倒數(shù)第2列,一般用于正向取發(fā)生變化或數(shù)字過大.
awk取列的時候,默認(rèn)是通過空白字符進(jìn)行分割的.
空白字符:空格,連續(xù)空格,tab鍵.
但是一些時候使用默認(rèn)分隔符不夠了,需要我們手動指定分隔符,通過-F選項(xiàng)指定.
未來我們想快速取出想要的內(nèi)容,選擇趁手工具(選好分隔符).
選擇分隔符建議: 看你目標(biāo)兩邊是啥
如果是空格,連續(xù)空格,tab鍵直接使用awk取列即可,$1,$2,$NF
其他情況需要通過-F指定分隔符+正則實(shí)現(xiàn) [] []+ |
36.服務(wù)使用流程

37.定時任務(wù)目錄結(jié)構(gòu)

38.配置命令

39.定時任務(wù)時間部分

40.故障案例
1.現(xiàn)象:
郵件服務(wù)開啟: 不斷收到郵箱 You have new mail in /var/spool/mail/root
郵件服務(wù)關(guān)閉: 一些郵件的臨時目錄不斷堆積小文件. /var/spool/postfix/maildrop
原因:
定時任務(wù)運(yùn)行命令或腳本的時候,命令或腳本有輸出,定時任務(wù)就會通過郵件形式發(fā)送給root.
解決:
定時任務(wù)中命令或腳本定向到空或追加到文件.
41.csv表格:通過逗號分割的內(nèi)容

浙公網(wǎng)安備 33010602011771號