第 8 周

一、systemd查看日誌文件有隱藏該如何處理?

systemd統一管理全部Unit的啓動日誌,包含內核日誌和應用日誌。在默認狀況下,systemd日誌保存於/run/log/journal中,系統重啓後會清除,這裏面的日誌文件是二進制形式保存的,不能直接用less等文本文件查看的方式查看內容。
可使用下面這個命令來查看日誌內容,因爲一行能夠顯示不少內容,屏幕的列數可能沒法顯示完整,可使用右方向鍵查看右邊的內容。
$ journalctl
日誌文件還有更詳細的信息,使用下面這個參數 顯示隱藏字段
journalctl -o verbose
-o 或 --output=STRING 來改變journal命令輸出的模式,可選的模式有 (short, short-iso, short-precise, short-monotonic, verbose,export, json, json-pretty, json-sse, cat)mysql

二、本身動手寫一個systemd的配置文件, 讓nginx服務能夠開機啓動

[root@zabbix-mysql system]# cat nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

三、SIGHUP、SIGQUIT、SIGTERM、SIGINTERRUPT的區別

  • SIGHUP
    信號的默認處理是終止收到該信號的進程。nginx

  • SIGQUIT
    (一般是Ctrl-)來控制. 進程在因收到SIGQUIT退出時會產生core文件, 在這個意義上相似於一個程序錯誤信號。sql

  • SIGTERM
    程序結束(terminate)信號, 與SIGKILL不一樣的是該信號能夠被阻塞和處理。一般用來要求程序本身正常退出。shell

  • SIGINTERRUPTjson

    容許信號中斷系統調用。less

四、用awk查看tcp鏈接處於TIMEOUT的鏈接個數

[root@zabbix-mysql system]# netstat -n | awk '/TIMEOUT/{print $NF}' | uniq -c
    174 TIME_WAIT

[root@zabbix-mysql system]# netstat -tan | awk '/TIMEOUT/{state[$NF]++}END{for(i in state) { print i,state[i]}}'
TIME_WAIT 190
相關文章
相關標籤/搜索