[20190412]bash顯示日期相減.txt
[20190412]bash顯示日期相減.txt
--//別人的系統前一段時間大量出現log file switch (checkpoint incomplete),我想了解日誌大概的切換情況.
--//結果對方資料庫控制檔案已經重建,無法透過一些檢視瞭解具體情況.我想alert檔案裡面儲存這些資訊.
--//在自己的系統測試看看,如何獲得日誌切換的時間間隔.
1.過濾切換日誌時的時間:
$ grep -B1 "(LGWR switch)" alert_hrp430.log | grep "^... Apr 0[789].*2019$"
Sun Apr 07 01:11:04 2019
Sun Apr 07 10:54:46 2019
Sun Apr 07 19:00:34 2019
Mon Apr 08 01:11:04 2019
Mon Apr 08 08:29:24 2019
Mon Apr 08 11:05:25 2019
Mon Apr 08 18:06:26 2019
Tue Apr 09 01:11:04 2019
Tue Apr 09 08:00:42 2019
Tue Apr 09 08:57:09 2019
Tue Apr 09 10:01:06 2019
Tue Apr 09 11:31:46 2019
Tue Apr 09 15:50:09 2019
Tue Apr 09 17:49:43 2019
--//簡單1點把這個結果匯入資料庫表中再計算容易許多.
2.轉化為1970/1/1開始的秒數:
$ grep -B1 "(LGWR switch)" alert_hrp430.log | grep "^... Apr 0[789].*2019$" | xargs -I{} date -d "{}" "+%s"
1554570664
1554605686
1554634834
1554657064
1554683364
1554692725
1554717986
1554743464
1554768042
1554771429
1554775266
1554780706
1554796209
1554803383
--//驗證看看是否轉化正確
$ date -d "1970-01-01 00:00:00 UTC 1554570664 seconds" +"%Y-%m-%d %T"
2019-04-07 01:11:04
3.如何實現上下相減呢?
$ grep -B1 "(LGWR switch)" alert_hrp430.log | grep "^... Apr 0[789].*2019$" | xargs -I{} date -d "{}" "+%s" | awk 'NR==1{a=$1} NR>1{print $1-a;a=$1}'
35022
29148
22230
26300
9361
25261
25478
24578
3387
3837
5440
15503
7174
--//這樣就能獲得切換的時間(單位秒),驗證看看.
SYS@hrp430> select (to_date('Apr 07 10:54:46 2019','MON DD HH24:MI:SS YYYY')-to_date('Apr 07 01:11:04 2019','MON DD HH24:MI:SS YYYY'))*86400 N10 from dual ;
N10
---------------------
35022
--//OK完全正確.再修改看看:
$ grep -B1 "(LGWR switch)" alert_hrp430.log | grep "^... Apr 0[789].*2019$" | xargs -I{} date -d "{}" "+%Y-%m-%d:%T %s" | awk 'NR==1 {a=$1;b=$2} NR>1 {print $1,"-",a,$2-b;a=$1;b=$2}'
2019-04-07:10:54:46 - 2019-04-07:01:11:04 35022
2019-04-07:19:00:34 - 2019-04-07:10:54:46 29148
2019-04-08:01:11:04 - 2019-04-07:19:00:34 22230
2019-04-08:08:29:24 - 2019-04-08:01:11:04 26300
2019-04-08:11:05:25 - 2019-04-08:08:29:24 9361
2019-04-08:18:06:26 - 2019-04-08:11:05:25 25261
2019-04-09:01:11:04 - 2019-04-08:18:06:26 25478
2019-04-09:08:00:42 - 2019-04-09:01:11:04 24578
2019-04-09:08:57:09 - 2019-04-09:08:00:42 3387
2019-04-09:10:01:06 - 2019-04-09:08:57:09 3837
2019-04-09:11:31:46 - 2019-04-09:10:01:06 5440
2019-04-09:15:50:09 - 2019-04-09:11:31:46 15503
2019-04-09:17:49:43 - 2019-04-09:15:50:09 7174
--//這樣就比較好觀察了.再貼一個我們生產系統30分鐘定時切換的情況:
$ grep -B2 "(LGWR switch)" alert_fyhis1.log | grep "^... Apr 12.*2019$" | xargs -I{} date -d "{}" "+%Y-%m-%d:%T %s" | awk 'NR==1 {a=$1;b=$2} NR>1 {print $1,"-",a,$2-b;a=$1;b=$2}'
2019-04-12:00:31:22 - 2019-04-12:00:01:22 1800
2019-04-12:01:01:22 - 2019-04-12:00:31:22 1800
2019-04-12:01:13:44 - 2019-04-12:01:01:22 742 <--這裡是備份時日誌切換的情況.
2019-04-12:01:43:46 - 2019-04-12:01:13:44 1802
2019-04-12:02:13:47 - 2019-04-12:01:43:46 1801
2019-04-12:02:43:46 - 2019-04-12:02:13:47 1799
2019-04-12:03:13:49 - 2019-04-12:02:43:46 1803
2019-04-12:03:31:05 - 2019-04-12:03:13:49 1036
2019-04-12:04:01:13 - 2019-04-12:03:31:05 1808
2019-04-12:04:31:13 - 2019-04-12:04:01:13 1800
...
--//注這臺機器沒有使用實時傳輸日誌,要修改引數為-B2,不然無法顯示時間資訊.
--
Fri Apr 12 08:31:16 2019
LGWR: Standby redo logfile selected for thread 1 sequence 45458 for destination LOG_ARCHIVE_DEST_2
Thread 1 advanced to log sequence 45458 (LGWR switch)
--
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2641133/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20200217]bash顯示path環境變數.txt變數
- Layui表格日期格式顯示UI
- django 設定日期顯示格式Django
- MUI DtPicker 顯示自定義日期UI
- [20190929]bash使用bc計算的相關問題.txt
- QT顯示當前日期時間QT
- 點選日曆顯示日期jqueryjQuery
- EasyUI選擇日期只顯示年月UI
- [20211020]奇怪lsnrctl status顯示.txt
- [20190321]smem的顯示缺陷.txt
- [20180811]windows 7 顯示桌面.txtWindows
- 讓history命令顯示日期和時間
- bootstrap日期控制元件 只顯示 年月boot控制元件
- 簡易javaWeb_顯示當前日期JavaWeb
- JavaScript年月日日期顯示程式碼JavaScript
- [20210318]bash test (( )) [[ ]].txt
- [20181203]bash here $.txt
- [20180930]bash shell &.txt
- [20210301]延遲顯示輸出.txt
- [20180628]顯示bbed x命令格式.txt
- WIN10狀態不顯示日期怎麼辦 WIN10桌面不顯示日期恢復方法Win10
- [20190312]bash IFS例子.txt
- 用 bash 倒數計時日期
- Mac終端顯示“bash-3.2”的解決方法Mac
- [20231207]ls -f的顯示問題.txt
- [20181207]sqlplus下顯示資料精度.txtSQL
- [20180312]iostat顯示輸出問題.txtiOS
- win10 在桌面上顯示日期時間的方法_win10怎麼把時間日期顯示在桌面Win10
- [20221104]bash exec使用技巧.txt
- [20210908]Reverse Shell with Bash.txt
- [20210207]bash history小技巧.txt
- [20180413]bash 位置引數.txt
- [20180926]bash與分號.txt
- 如何用bash 倒數計時日期
- win10時間不顯示日期怎麼辦_win10電腦只顯示時間沒有日期如何處理Win10
- [20230405]奇怪的顯示輸出寬度.txt
- [20201103]lsof顯示link=0的檔案.txt
- [20201121]顯示時間戳高精度版本.txt時間戳