1. 程式人生 > >Linux系統管理初步(九)系統日誌與screen程序

Linux系統管理初步(九)系統日誌與screen程序

director nco spec 進制 orm 鎖定 tail cal 狀況

一、系統日誌

系統日誌是我們了解系統狀況,服務啟動情況,學會閱讀日誌是我們了解系統運行狀況並進行管理的基本技能。

(一)/var/log/messages

系統中的各種操作都會記錄到系統日誌中,日誌儲存在/var/log/目錄中,日誌會被系統的logrotate程序自動切割,就是日誌文件達到你設定的條件時,就自動結束,然後重新生成一個文件開始記錄日誌。

1、查看系統日誌

tail /var/log/messages

確實可以記錄下不少內容的
技術分享圖片

2、通過/logrotate.conf文件配置日誌記錄機制

cat /etc/logrotate.conf

把主要的內容列在這個
# rotate log files weekly

weekly 多久結束一次日誌記錄,每周還是每月、每天等等

# keep 4 weeks worth of backlogs
rotate 4 多少份替換掉最舊一份日誌,就是你最多能保存幾份日誌文件,這裏是4,就是說如果你有4份日誌文件了那麽再多出來的一份就會把第一份覆蓋掉,就像監控中你最可以回放的錄像天數。

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed

#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
可以把需要使用

# no packages own wtmp and btmp -- we‘ll rotate them here
這個語句下面可以把你要logrotate程序切割的日誌文件的路徑加進來,讓程序自動幫你切割日誌文件,常見的比如Nginx日誌之類。

比如處理:

/usr/local/nginx/logs/*.log {
daily
dateext
compress
rotate 7
sharedscripts
postrotate

kill -USR1 cat /var/run/nginx.pid
endscript
}

/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}

/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}

# system-specific logs may be also be configured here.

(二)dmseg命令

dmesg命令可以顯示系統的啟動信息及硬件錯誤信息,系統某個硬件有問題時,可使用該命令排障。
技術分享圖片

註意這個命令顯示的日誌與/var/log/dmseg日誌關系不大。

(三)last命令與lastb命令

last命令與lastb命令用於查看系統的登陸用戶,它通過調用系統日誌/var/log/wtmp與/var/log/btmp來顯示系統最近的用戶登陸情況,在進行安全防範時要使用該命令。

>last
技術分享圖片
>lastb
技術分享圖片

日誌/var/log/wtmp與/var/log/btmp是二進制文件,不能直接cat

與系統安全相關的日誌還有secure日誌(/var/log/secure),他記錄了用戶嘗試登陸系統,或者暴力破解系統密碼時的信息,幫助你進行下一步處理,比如用fail2ban來鎖定攻擊IP。

二、screen工具

screen是一個虛擬終端工具,一些程序的執行時間很長不能中途中斷,而我們登陸服務器時是遠程登陸的,為了防止系統意外中斷時仍能持續運行一個程序我們就可以使用screen工具。註意即使我們斷開

screen工具非系統自帶,首先需要yum安裝

工具選項
ctrl+A 再+D:新建一個screen
screen -S “自定義名字” :自定義終端名新建screen
screen -ls :列出系統中存在的screen
screen -r id號或者自定義名字:進入特定的screen

操作示例
1、新建一個screen並運行vnstat 1命令

screen
vmstat 1
ctrl+A 再+D
技術分享圖片

他就移到後臺了

2、切換回到剛在的screen

screen -r 1960
screen -r test1

兩個都可以,後一個是用screen -s test1生成的。
技術分享圖片

3、殺死一個已經detached的screen會話

screen -X -S (id號或者screen名字) quit

技術分享圖片

Linux系統管理初步(九)系統日誌與screen程序