新聞中心
在Linux操作系統(tǒng)中,查詢某個(gè)時(shí)間段的記錄是一項(xiàng)很常見的任務(wù)。無論是系統(tǒng)管理員還是普通用戶,都可能需要查詢系統(tǒng)日志或者其他記錄中的某個(gè)時(shí)間段的信息。本文將介紹如何使用Linux中的一些命令和工具來查詢某個(gè)時(shí)間段的記錄。

在海棠等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,海棠網(wǎng)站建設(shè)費(fèi)用合理。
1. 使用grep命令
grep命令是Linux中最常見的文本搜索工具之一,它可以在文件中查找某個(gè)字符串或者正則表達(dá)式,并將匹配的行輸出到終端。如果要查詢某個(gè)時(shí)間段的記錄,可以先用grep命令將記錄文件中的所有行輸出到終端,然后使用管道符號(hào)(|)和awk命令來過濾出指定時(shí)間段的記錄。下面是一個(gè)示例:
“`
grep ‘login’ /var/log/auth.log | awk ‘$3>”Apr” && $3″10:00:00″ && $4
“`
這個(gè)命令會(huì)在/var/log/auth.log文件中查找所有包含’login’字符串的行,并使用awk命令過濾出時(shí)間在4月份且在上午10點(diǎn)到中午12點(diǎn)之間的記錄。
2. 使用sed命令
sed命令是另一個(gè)文本處理工具,它可以對文本進(jìn)行替換、刪除、插入等操作。如果要查詢某個(gè)時(shí)間段的記錄,可以先使用sed命令將所有記錄按照時(shí)間排序,然后使用grep命令和管道符號(hào)來過濾出指定時(shí)間段的記錄。下面是一個(gè)示例:
“`
sed -e ‘s/^/JAN /;t’ -e ‘s/^/FEB /;t’ -e ‘s/^/MAR /;t’ -e ‘s/^/APR /;t’ -e ‘s/^/MAY /;t’ -e ‘s/^/JUN /;t’ -e ‘s/^/JUL /;t’ -e ‘s/^/AUG /;t’ -e ‘s/^/SEP /;t’ -e ‘s/^/OCT /;t’ -e ‘s/^/NOV /;t’ -e ‘s/^/DEC /’ /var/log/auth.log | grep ‘login’ | awk ‘$2==”APR” && $3>10 && $3
“`
這個(gè)命令會(huì)將/var/log/auth.log文件中的所有記錄按照時(shí)間排序,并在每一行前加上月份。然后使用grep命令過濾出所有包含’login’字符串的行,并使用awk命令過濾出時(shí)間在4月份且在上午10點(diǎn)到中午12點(diǎn)之間的記錄。
3. 使用logrotate命令
logrotate命令是Linux中的一個(gè)日志管理工具,它可以定期輪換日志文件,并壓縮舊日志文件。如果要查詢某個(gè)時(shí)間段的記錄,可以先使用logrotate命令將日志文件按照時(shí)間輪換,然后使用grep命令和awk命令來查詢指定時(shí)間段的記錄。下面是一個(gè)示例:
“`
logrotate -d /etc/logrotate.d/auth
zcat /var/log/auth.log.1.gz | grep ‘login’ | awk ‘$3>10 && $3″00:00:00″ && $4
“`
這個(gè)命令會(huì)使用logrotate命令對/etc/logrotate.d/auth文件進(jìn)行一次模擬輪換,以便得到輪換后的日志文件名稱。然后使用zcat命令解壓縮舊日志文件,并使用grep命令和awk命令過濾出時(shí)間在指定時(shí)間段內(nèi)的記錄。
相關(guān)問題拓展閱讀:
- linux系統(tǒng)維護(hù),關(guān)于grep一個(gè)時(shí)間段的問題
- sar命令查看歷史數(shù)據(jù)
linux系統(tǒng)維護(hù),關(guān)于grep一個(gè)時(shí)間段的問題
grep ’14:25:4 \| 14:25:5′ x.log
這樣求出來的是
14:25:48
14:25:49
14:25:50
14:25:51
14:25:52
….
14:25:59
本質(zhì)還是一個(gè)一個(gè)去匹配.
你能用這個(gè)求出 14:25:10 到14:25:59 的所有內(nèi)容嗎?
所以上面這個(gè)只是碰巧讓你能撞上了.
要想求出你想要的結(jié)果可以用如下:
sar命令查看歷史數(shù)據(jù)
前言
有的時(shí)候,我們要通過對系統(tǒng)的cpu負(fù)載等性能數(shù)值的查看,來判排查系統(tǒng)產(chǎn)生某種故障(經(jīng)常死機(jī)或者運(yùn)行速度突然變慢)的原因。但是,簡單的top,uptime,w等命令只可以查看當(dāng)前的負(fù)載,而無法查看過去的某一時(shí)間段的cpu的負(fù)載情況。
下面就介紹一個(gè)用于性能分析的命令,其可以用于查看過去的某一時(shí)間段的cpu的負(fù)載情況(系統(tǒng)性能)。
查看某一時(shí)間段的cpu使用情況,請直接跳到第七節(jié)。
一、sar概念
sysstat是Linux 系統(tǒng)中的常用工具包,而sar 是 Linux中sysstat工具包中的用于監(jiān)控Linux系統(tǒng)性能的工具之一。
sysstat 工具包中包含兩種類型的工具:即時(shí)查看工具(iostat、mpstat、sar);累計(jì)統(tǒng)計(jì)工具(sar)
因此sar命令,又叫做系統(tǒng)活動(dòng)情況報(bào)告。不僅可以實(shí)時(shí)查看服務(wù)器的性能,還可以做累計(jì)統(tǒng)計(jì)。
二、sar可監(jiān)控的范圍
文件的讀寫情況
系統(tǒng)調(diào)用的使用情況
磁盤I/O使用情況
CPU的使用統(tǒng)計(jì)
內(nèi)存使用狀況
進(jìn)程活動(dòng)
IPC有關(guān)的活動(dòng)
三、sar命令使用環(huán)境
sar命令使用格式:
sar+
命令行
選項(xiàng)(可選) + 間隔時(shí)間(可選) + 次數(shù)(可選)
常用來判斷一個(gè)系統(tǒng)瓶頸問題
查詢CPU可用 sar -u 和 sar -q 等來查看查詢內(nèi)存可用 sar -B、sar -r 和 sar -W 等來查看查詢io可用 sar -b、sar -u 和 sar -d 等來查看
四、sar命令累計(jì)統(tǒng)計(jì)的實(shí)現(xiàn)過程
系統(tǒng)會(huì)通過調(diào)用 /usr/lib64/sa/ 中的三個(gè)工具(sa1 sa2 sadc)來實(shí)現(xiàn),周期地記錄當(dāng)時(shí)的系統(tǒng)性能的信息的功能。
sa1 :收集并將每天的系統(tǒng)性能的信息寫入一個(gè)二進(jìn)制的文件中,它是sadc的前端程序
sa2 :收集每天的系統(tǒng)活躍的信息并寫入總結(jié)性的文件中,其作為 sar的前端程序
sadc :收集系統(tǒng)的動(dòng)態(tài)數(shù)據(jù)的數(shù)據(jù)并寫入一個(gè)二進(jìn)制的文件中,其作為 sar 工具的后端
五、sar的日志
sar是由有類似日志切割的功能的,它會(huì)依據(jù)/etc/cron.d/sysstat中的計(jì)劃任務(wù),將日志放入/var/log/sa/中
注:日志為二進(jìn)制文件,不可使用more、less、vim工具查看,必須使用sar或sadf
可以根據(jù)需求修改該計(jì)劃任務(wù)
如要查看某一時(shí)間段的服務(wù)器的性能的其中一個(gè)方法就是:使用sar命令,查看當(dāng)天的日志文件
sar -f /var/log/sa/sa15
#sar-f/var/log/sa/sa15Linux3.10.0-327.el7.x86_64(ops-node7)07/15/2023_x86_64_(24CPU)12:00:01AMCPU%user%nice%system%iowait%steal%idle12:10:01AMall1.350.000.850.120.0097.6712:20:01AMall1.320.000.860.110.0097.7112:30:02AMall1.370.000.870.110.0097.6512:40:01AMall1.320.000.910.110.0097.6612:50:01AMall1.350.000.890.110.0097.6501:00:01AMall1.360.000.870.110.0097.6601:10:01AMall1.360.000.850.110.0097.6801:20:01AMall1.350.000.890.100.0097.6601:30:01AMall1.320.000.890.110.0097.6801:40:01AMall1.290.000.950.110.0097.6501:50:01AMall1.350.000.880.120.0097.6402:00:01AMall1.340.000.880.110.0097.6802:10:01AMall1.330.000.900.110.0097.6502:20:01AMall1.360.000.870.120.0097.6502:30:01AMall1.350.000.850.120.0097.6802:40:01AMall1.410.000.920.120.0097.5602:50:01AMall1.570.000.950.130.0097.3503:00:01AMall4.210.000.810.160.0094.8103:10:01AMall2.500.000.870.130.0096.5003:20:01AMall1.370.000.870.120.0097.6503:30:01AMall1.360.000.950.130.0097.5603:40:01AMall1.480.000.970.240.0097.3003:50:01AMall1.350.010.910.130.0097.6004:00:01AMall1.390.000.950.190.0097.4704:10:01AMall1.360.000.990.130.0097.52
注意:
sar查看性能或其日志時(shí),使用的12/24小時(shí)制;日志的切割是昨天晚上12點(diǎn)到今天12點(diǎn)為一天;默認(rèn)只保留一個(gè)月的日志
六、sar命令參數(shù)及輸出項(xiàng)詳解
【1】格式
用法:sar + 選項(xiàng) + 時(shí)間間隔(可選) + 次數(shù) (可選)
interval: 取樣周期,單位是秒count:取樣次數(shù),默認(rèn)值為1options:命令行選項(xiàng)
【2】常用選項(xiàng)
-A所有報(bào)告的總和-B輸出內(nèi)存頁面的統(tǒng)計(jì)信息-b輸出I/O和傳送速率的統(tǒng)計(jì)信息-C輸出進(jìn)程統(tǒng)計(jì)信息及每秒創(chuàng)建的進(jìn)程數(shù)-d輸出每一個(gè)塊設(shè)備的活動(dòng)信息-H輸出交換空間利用率信息-h輸出幫助信息-p輸出友好設(shè)備名字,以方便查看,常與-d和-n參數(shù)結(jié)合使用-q輸出進(jìn)程隊(duì)列長度和系統(tǒng)平均負(fù)載狀態(tài)統(tǒng)計(jì)信息-R輸出內(nèi)存頁面的統(tǒng)計(jì)信息-r輸出內(nèi)存和交換空間的統(tǒng)計(jì)信息-S輸出交換空間利用率信息-t讀取 /var/log/sa/下的某日志的數(shù)據(jù)時(shí)顯示其中記錄的原始時(shí)間-u輸出整體CPU使用情況的統(tǒng)計(jì)信息-V輸出版本信息-v輸出內(nèi)核表狀況統(tǒng)計(jì)信息(inode、文件和其他內(nèi)核表的統(tǒng)計(jì)信息)-W輸出系統(tǒng)交換的統(tǒng)計(jì)信息-w輸出任務(wù)創(chuàng)建與系統(tǒng)轉(zhuǎn)換統(tǒng)計(jì)信息-y輸出終端設(shè)備的活動(dòng)信息I輸出指定中斷的統(tǒng)計(jì)信息,后方可加參數(shù){…|SUM|ALL|XALL} …指定中斷號(hào)SUM指定輸出每秒接收到的中斷總數(shù)ALL指定輸出前16個(gè)中斷XALL指定輸出全部的中斷信息P輸出指定的部分的CPU的統(tǒng)計(jì)信息,后方可加參數(shù){cpu|ALL}cpu指定cpuALL輸出單個(gè)和整體cpu的統(tǒng)計(jì)數(shù)據(jù)n輸出
網(wǎng)絡(luò)設(shè)備
(網(wǎng)卡)狀態(tài)統(tǒng)計(jì)信息,后方可加參數(shù){DEV|EDEV|NFS|NFSD|SOCK|ALL} DEV輸出網(wǎng)絡(luò)設(shè)備的統(tǒng)計(jì)信息EDEV輸出網(wǎng)絡(luò)設(shè)備的錯(cuò)誤統(tǒng)計(jì)信息NFS輸出NFS客戶端的活動(dòng)統(tǒng)計(jì)信息NFSD輸出NFS服務(wù)器的活動(dòng)統(tǒng)計(jì)信息SOCK輸出網(wǎng)絡(luò)套接字的使用統(tǒng)計(jì)信息ALL輸出所有類型的網(wǎng)絡(luò)活動(dòng)統(tǒng)計(jì)信息f從文件中讀取數(shù)據(jù)信息。一般讀取sar日志,也可讀取-o選項(xiàng)生成的文件,后方要加文件名-o將sar的輸出信息保存到文件中,后方要加文件名-i指定間隔時(shí)長,單位為秒-s指定輸出統(tǒng)計(jì)數(shù)據(jù)的起始時(shí)間(格式為hh:mm:ss;例如01:00:00) -e指定輸出統(tǒng)計(jì)數(shù)據(jù)的截至?xí)r間,通常與-S選項(xiàng)連用。無數(shù)值時(shí)默認(rèn)為18:00:00(格式為hh:mm:ss;例如09:00:00)
【3】輸出項(xiàng)
cpu的輸出
sar -u
%usr CPU在用戶模式下,執(zhí)行進(jìn)程的時(shí)間百分比 %niceCPU在用戶模式下,用于nice操作,所占用CPU總時(shí)間的百分比 %systemCPU處在系統(tǒng)模式(內(nèi)核態(tài))下,執(zhí)行進(jìn)程的時(shí)間百分比 %iowaitCPU用于等待I/O操作完成(等待輸入輸出完成),占用CPU總時(shí)間的百分比 %steal管理程序?yàn)榱硪粋€(gè)虛擬進(jìn)程提供服務(wù)而等待虛擬CPU的百分比%idleCPU空閑時(shí)間百分比
注意:
如果%iowait的值過高,表示硬盤存在I/O瓶頸 如果%idle值高,表示CPU較空閑如果%idle 的值高但系統(tǒng)響應(yīng)慢時(shí),有可能是 CPU 等待分配內(nèi)存,此時(shí)應(yīng)加大內(nèi)存容量 如果%idle 的值持續(xù)低于10,則系統(tǒng)的 CPU 處理能力相對較低,表明系統(tǒng)中最需要解決的資源是 CPU
I/O和傳送速率輸出
sar -b
tps 每秒向磁盤設(shè)備請求數(shù)據(jù)的次數(shù),包括讀、寫請求,其為rtps與wtps的和。每一次IO下發(fā)后會(huì)先將多個(gè)請求合并為一個(gè)I/O磁盤請求,這里tps指請求合并后的請求計(jì)數(shù)rtps 每秒向磁盤設(shè)備的讀請求次數(shù) wtps 每秒向磁盤設(shè)備的寫請求次數(shù) bread/s每秒鐘從物理設(shè)備讀入的數(shù)據(jù)量,單位為 塊/s bwrtn/s每秒鐘向物理設(shè)備寫入的數(shù)據(jù)量,單位為 塊/s
設(shè)備使用情況輸出
sar -d
DEV 磁盤設(shè)備,加上用參數(shù)-p可以打印出sda等磁盤設(shè)備名稱;如不加參數(shù)-p,設(shè)備則顯示為dev253-0等tps 每秒向磁盤設(shè)備請求數(shù)據(jù)的次數(shù),包括讀、寫請求,其為rtps與wtps的和。每一次IO下發(fā)后會(huì)先將多個(gè)請求合并為一個(gè)I/O磁盤請求,這里tps指請求合并后的請求計(jì)數(shù)rd_sec/s每秒讀扇區(qū)的次數(shù)wr_sec/s每秒寫扇區(qū)的次數(shù)avgrq-sz平均每次設(shè)備I/O操作的數(shù)據(jù)大小(扇區(qū))avgqu-sz磁盤請求隊(duì)列的平均長度await從請求磁盤到系統(tǒng)處理完,每次請求的平均消耗時(shí)間,包括請求隊(duì)列等待時(shí)間(單位是毫秒)svctm系統(tǒng)處理每次請求的平均時(shí)間,不包括在請求隊(duì)列中消耗的時(shí)間%utilI/O請求占CPU的百分比
網(wǎng)絡(luò)設(shè)備統(tǒng)計(jì)信息輸出
sar -n EDEV
IFACE網(wǎng)絡(luò)設(shè)備名rxpck/s每秒接收的包數(shù)量txpck/s每秒傳輸?shù)陌鼣?shù)量rxbyt/s每秒接收的字節(jié)數(shù)(單位為byte)txbyt/s每秒傳輸?shù)淖止?jié)數(shù)(單位為byte)rxkB/s每秒收的數(shù)據(jù)量(單位為kB)txkB/s每秒發(fā)的數(shù)據(jù)量(單位為kB)rxcmp/s每秒接收壓縮包的數(shù)量txcmp/s每秒傳輸壓縮包的數(shù)量rxmcst/s每秒接收的多播(multicast)包的總數(shù)排查網(wǎng)絡(luò)設(shè)備故障
網(wǎng)絡(luò)設(shè)備故障信息輸出
EDEV |egrep ‘eth0|IFACE’ (本次指定了網(wǎng)卡etho0,可填入其他網(wǎng)卡)
IFACE網(wǎng)絡(luò)設(shè)備名rxerr/s每秒接收的壞包數(shù)量txerr/s傳輸包時(shí)每秒發(fā)生錯(cuò)誤的數(shù)量coll/s傳輸包時(shí)每秒發(fā)生沖突的數(shù)量rxdrop/s接收包時(shí),每秒丟棄的包的數(shù)量(缺乏緩存導(dǎo)致)txdrop/s傳輸包時(shí),每秒丟棄的包的數(shù)量(缺乏緩存導(dǎo)致)txcarr/s傳輸包時(shí),每秒發(fā)生的傳輸錯(cuò)誤的數(shù)量rxfram/s接收包時(shí),每秒發(fā)生幀校驗(yàn)錯(cuò)誤的數(shù)量rxfifo/s接收包時(shí),每秒鐘緩沖區(qū)溢出錯(cuò)誤的數(shù)量txfifo/s傳輸包時(shí),每秒鐘緩沖區(qū)溢出錯(cuò)誤的數(shù)量
內(nèi)存分頁狀態(tài)輸出
sar -B
pgpgin/s每秒從磁盤空間或交換空間置換到內(nèi)存的字節(jié)數(shù)(單位為KB)pgpgout/s每秒從內(nèi)存置換到磁盤空間或交換空間的字節(jié)數(shù)(單位為KB)fault/s每秒鐘系統(tǒng)產(chǎn)生的缺頁數(shù)(主缺頁加次缺頁)majflt/s每秒鐘產(chǎn)生的主缺頁數(shù)pgfree/s每秒被放入空閑隊(duì)列中的頁個(gè)數(shù)pgscank/s每秒被kswapd掃描的頁個(gè)數(shù)pgscand/s每秒直接被掃描的頁個(gè)數(shù)pgsteal/s每秒鐘從cache中被清除來滿足內(nèi)存需要的頁個(gè)數(shù)%vmeff每秒清除的頁占總掃描頁的百分比
進(jìn)程隊(duì)列長度和平均負(fù)載狀態(tài)輸出
sar -q
runq-sz運(yùn)行隊(duì)列的長度,等待運(yùn)行的進(jìn)程數(shù)量
plist-sz進(jìn)程列表中進(jìn)程和線程的數(shù)量
ldavg最后1分鐘的系統(tǒng)平均負(fù)載
ldavg過去5分鐘的系統(tǒng)平均負(fù)載
ldavg過去15分鐘的系統(tǒng)平均負(fù)載
內(nèi)存和交換空間狀態(tài)輸出
sar -r
kbmemfree空閑的內(nèi)存數(shù)量(單位為KB)kbmemused已使用的內(nèi)存數(shù)量,不包含內(nèi)核使用的內(nèi)存(單位為KB)%memused已使用內(nèi)存的百分?jǐn)?shù)kbbuffers內(nèi)核緩沖區(qū)buffer,使用的內(nèi)存數(shù)量(單位為KB)kbcached內(nèi)核高速緩存cache數(shù)據(jù)使用的內(nèi)存數(shù)量(單位為KB)kbcommit保證當(dāng)前系統(tǒng)所需要的內(nèi)存,即為了確保不溢出而需要的內(nèi)存(RAM+swap)%commitkbcommit與所有內(nèi)存總量的百分比
系統(tǒng)交換活動(dòng)信息輸出
sar -W
pswpin/s每秒系統(tǒng)換入的交換頁面數(shù)量
pswpout/s每秒系統(tǒng)換出的交換頁面數(shù)量
七、sar使用實(shí)例-查看某一時(shí)間段的情況
查看凌晨1點(diǎn)到3點(diǎn)的cpu
sar -s 01:00:00 -e 03:00:00
查看凌晨1點(diǎn)到3點(diǎn)的系統(tǒng)的平均負(fù)載
若要看某時(shí)間段其他性能,加上對應(yīng)選項(xiàng)
sar -s 01:00:00 -e 03:00:00 -q
查看本月3號(hào)的cpu
注意:
該操作需要去查看sar的日志(第五節(jié)已經(jīng)介紹一次)
默認(rèn)只保存一個(gè)月的
sar查看性能或其日志時(shí),注意自己的使用的是12還是24小時(shí)制
日志的切割是昨天晚上12點(diǎn)到今天12點(diǎn)為一天
關(guān)于linux 查詢某個(gè)時(shí)間段的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)站題目:如何使用Linux查詢某個(gè)時(shí)間段的記錄(linux查詢某個(gè)時(shí)間段)
分享網(wǎng)址:http://fisionsoft.com.cn/article/dpooogg.html


咨詢
建站咨詢
