linux中的進程於計劃任務管理
- 程序和進程的關系
程序:保存在硬盤、光盤等介質中的可執行代碼和數據;靜態保存的代碼
進程:在 CPU 及內存中運行的程序代碼;動態執行的代碼;父、子進程:每個進程可以創建一個或多個進程
基本命令
1):ps命令(processes statistc):查看靜態的進程統計信息
格式: ps aux ;ps –elf
2):top命令:查看動態的進程排名信息
3):pgrep命令:根據特定條件查詢進程 PID 信息
4):pstree命令:以樹形結構列出進程信息
格式:pstree –aup ;pstree –ap 用戶
2.進程的啟動方式
手工啟動
前臺啟動(foreground,前臺):用戶輸入命令,直接執行程序
[root@localhost ~]# cp /dev/cdrom mycd.iso &
[1] 28454 (輸出信息中包括後臺任務序號、PID號)
調度啟動
使用 at 命令,設置一次性計劃任務;使用 crontab 命令,設置周期性計劃任務
3.進程的前後臺調度
1):Ctrl+Z 組合鍵:將當前進程掛起,即調入後臺並停止執行
2):jobs 命令:查看處於後臺的任務列表 ;格式:jobs -l
3):fg 命令:將後臺進程恢復到前臺運行,可指定任務序號
4.終止進程
Ctrl+C 組合鍵:中斷正在執行的命令
kill、killall 命令
killall用於終止指定名稱的所有進程
-9 選項用於強制終止
pkill命令:根據特定條件終止相應的進程
常用命令選項: -U:根據進程所屬的用戶名終止相應進程; -t:根據進程所在的終端終止相應進程
5.計劃任務管理
1):at命令:一次性計劃任務,前提是對應的系統服務atd必須已經運行;計劃任務執行任務的時間必須安排在當前系統時間後。
服務腳本名稱:/etc/init.d/atd;格式:at [HH:MM] [yyyy-mm-dd]
2):crontab命令:按照預先設置的時間周期(分鐘、小時、天……)重復執行用戶指定的命令操作;屬於周期性計劃任務;服務腳本名稱:/etc/init.d/crond
全局配置文件,位於文件:/etc/crontab
系統默認的設置,位於目錄:/etc/cron.*/
用戶定義的設置,位於文件:/var/spool/cron/用戶名
3): 管理cron計劃任務
編輯計劃任務:crontab -e [-u 用戶名]
查看計劃任務:crontab -I [-u 用戶名
刪除計劃任務:crontab -r [-u 用戶名]
註意:root用戶可以管理指定用戶的計劃任務;普通用戶只能管理自己的計劃任務
- 時間數值的特殊表示方法
- 表示該範圍內的任意時間
, 表示間隔的多個不連續時間點 - 表示一個連續的時間範圍
/ 指定間隔的時間頻率
舉個栗子
0 17 1-5 周一到周五每天17:00
30 8 1,3,5 每周一、三、五的8點30分
0 8-18/2 8點到18點之間每2小時
0 /3 * 每3天
- 表示該範圍內的任意時間
系統故障分析和排查
- 日誌文件分析
功能:用於記錄系統、程序運行中發生的各種事件;通過閱讀日誌,有助於診斷和解決系統故障
分析:
內核及系統日誌:由系統服務syslog統一進行管理,日誌格式基本相似
用戶日誌:記錄系統用戶登錄及退出系統的相關信息
程序日誌:由各種應用程序獨立管理的日誌文件,記錄格式不統一
保存位置:默認位於:/var/log 目錄下
主要日誌文件:
日誌 存放位置
內核及公共消息 /var/log/messages
計劃任務 /var/log/cron
系統引導 /var/log/dmesg
郵件系統 /var/log/maillog
用戶登錄 /var/log/lastlog;/var/log/secure;/var/log/wtmp;/var/run/btmp
2.內核及系統日誌
由系統服務 rsyslogd 統一管理
軟件包:rsyslog-5.8.10-8.el6.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf
日誌消息的級別
0 EMERG(緊急):會導致主機系統不可用的情況
1 ALERT(警告):必須馬上采取措施解決的問題
2 CRIT(嚴重):比較嚴重的情況
3 ERR(錯誤):運行出現錯誤
4 WARNING(提醒):可能會影響系統功能的事件
5 NOTICE(註意):不會影響系統但值得註意
6 INFO(信息):一般信息
7 DEBUG(調試):程序或系統調試信息等
日誌記錄的一般格式
3.用戶日誌分析
保存了用戶登錄、退出系統等相關信息
/var/log/lastlog:最近的用戶登錄事件
/var/log/wtmp:用戶登錄、註銷及系統開、關機事件
/var/run/utmp:當前登錄的每個用戶的詳細信息
/var/log/secure:與用戶驗證相關的安全性事件
分析工具:users 、who、w、last、lastb
- 程序日誌分析
由相應的應用程序獨立進行管理
Web服務:/var/log/httpd/ ;access_log、error_log
代理服務:/var/log/squid/;access.log、cache.log、squid.out、store.log
FTP服務:/var/log/xferlog
分析工具:
文本查看、grep過濾檢索、Webmin管理套件中查看
awk、sed等文本過濾、格式化編輯工具
Webalizer、Awstats等專用日誌分析工具
註意:日誌並不是完全可靠的,高明的黑客在入侵系統後,經常會打掃現場
5.日誌管理策略
1):及時作好備份和歸檔
2):延長日誌保存期限
3):控制日誌訪問權限:日誌中可能會包含各類敏感信息,如賬戶、口令等
4):集中管理日誌
將服務器的日誌文件發到統一的日誌文件服務器
便於日誌信息的統一收集、整理和分析
杜絕日誌信息的意外丟失、惡意篡改或刪除
6.修復 MBR 扇區故障
1):故障原因:病毒、木馬等造成的破壞;不正確的分區操作、磁盤讀寫誤操作
2):故障現象:找不到引導程序,啟動中斷;無法加載操作系統,開機後黑屏
3): 解決思路:應提前作好備份文件;以 RHEL 6 安裝光盤引導進入急救模式;從備份文件中恢復
7.修復 GRUB 引導故障
1):故障原因:MBR 中的 GRUB 引導程序遭到破壞;grub.conf 文件丟失、引導配置有誤
2):故障現象:系統引導停滯,顯示“grub>” 提示符
3):解決思路:嘗試手動輸入引導命令;進入急救模式,重寫或者從備份中恢復 grub.conf
;向 MBR 扇區中重建 grub 程序
8.遺忘 root 用戶的密碼
1):故障原因:遺忘 root 用戶的密碼
2):故障現象:無法進行需要 root 權限的管理操作;若沒有其他可用帳號,將無法登錄系統
3):解決思路
方法一:引導進入單用戶模式,重設密碼:grub > kernel ... single 或 s 或 1
方法二:進入急救模式,重設密碼
- 修復文件系統
1):故障原因:非正常關機、突然斷電、設備讀寫失誤等;文件系統的超級塊(super-block)信息被破壞
2):故障現象:無法向分區中讀取或寫入數據;啟動後提示“Give root password for maintenance”
3):解決思路:根據提示輸入 root 口令,進入修復狀態;使用 fsck 命令進行修復
10.磁盤資源耗盡故障
1):故障原因:磁盤空間已被大量的數據占滿,空間耗盡;雖然還有可用空間,但文件數i節點耗盡
2):故障現象:無法寫入新的文件,提示“… : 設備上沒有空間”;部分程序無法運行,甚至系統無法啟動
3):解決思路:清理磁盤空間,刪除無用、冗余的文件;轉移或刪除占用大量 i 節點的瑣碎文件;進入單用戶模式、急救模式進行修復;為用戶設置磁盤配額
- 磁盤設備中存在壞道
1):故障原因:磁盤設備中存在壞道(邏輯的或物理的)
2):故障現象
讀取磁盤中的數據時,磁盤設備發出異常聲響。
訪問磁盤中的某個文件時,反復讀取且出錯,提示文件損壞
對於新建立的分區無法完成格式化
系統使用該磁盤時頻繁死機
3):解決思路:檢測硬盤中是否存在壞道;修復硬盤,或更換新的硬盤
linux中的進程於計劃任務管理