自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux Bash異常情況處理

運維 系統(tǒng)運維
《卓有成效的程序員》本書就是講述如何在開發(fā)軟件的過程中變得更加高效。本章會介紹一些不那么顯而易見、價值卻毫不遜色的自動化方法。本節(jié)講述的是用bash統(tǒng)計異常數(shù)。

用bash統(tǒng)計異常數(shù)

這里有一個使用bash的例子,你可能會在一個典型的項目中遇到類似的情況。當時我在一個已經(jīng)有6年歷史的大型Java項目中工作(我只是一個訪客,在第6年進入這個項目,并在上面工作了大概8個月)。我的任務(wù)之一就是清理一些經(jīng)常發(fā)生的異常,為此我做的第一件事就是提問:"哪些異常會被拋出?以什么樣的頻率?"當然了,沒人知道,所以我的第一個任務(wù)就是自己動手找到答案。但問題是這個應(yīng)用程序每星期會吐出超過2 GB的日志,很快我就意識到:即便只是嘗試用文本編輯器打開這個文件,那都是在浪費時間。于是我坐下來,寫了這么一段腳本:

#!/bin/bash
for X in $(egrep -o "[A-Z]\w*Exception" log_week.txt | sort | uniq) ;
do
    echo -n -e "processing $X\t"
    grep -c "$X" log_week.txt
done

表4-2解釋了這段bash小腳本的作用。

表4-2. 用于統(tǒng)計異常數(shù)量的復(fù)雜bash命令

文字

用途

egrep -o

找出日志文件中出現(xiàn)在“Exception”字眼之前的文字,對它們進行排序,然后得到一個消除重復(fù)之后的列表

"[A-Z]\w*Exception"

用于定位異常信息的正則模式

log_week.txt

龐大的日志文件

| sort

將前面的查找結(jié)果管道給sort,生成一個排序后的異常列表

| uniq

去掉重復(fù)的異常信息

for X in $(. . .) ;

循環(huán)前面生成的異常列表,針對其中的每個異常執(zhí)行這些代碼

echo -n -e "processing $X\t"

把找到的異常輸出在控制臺上(這樣我才知道這段腳本還在工作)

grep -c "$X" log_week.txt

在龐大的日志文件中找出這個異常出現(xiàn)的次數(shù)

這個項目到現(xiàn)在還在使用這段小程序。這是一個好例子:借助自動化工具,你可以從項目中找出一些從未有人發(fā)現(xiàn)的、有價值的信息。與其絞盡腦汁地猜測有哪些異常被拋出,不如把它們都找出來,這樣也可以更有目的性、更容易地修復(fù)這些拋出異常的程序。

【編輯推薦】

  1. Autoconf使用關(guān)于autoconf安裝條件介紹 
  2. Autoconf使用生成Makefile的方法及其規(guī)則
  3. autoconf安裝關(guān)于可移植的源代碼詳解
  4. Autoconf教程關(guān)于UNIX文件系統(tǒng)概述
  5. Autoconf教程關(guān)于安全管理介紹
責任編輯:chenqingxiang 來源: 機械工業(yè)出版社
相關(guān)推薦

2009-12-25 13:46:32

ADO 編程

2018-08-14 13:26:07

異常設(shè)計斷網(wǎng)

2010-08-11 12:18:23

無線路由異常

2020-02-07 10:14:07

程序員設(shè)計人生第一份工作

2023-07-07 07:53:26

Python異常處理

2020-06-15 08:12:51

try catch代碼處理器

2020-12-18 10:29:06

人臉識別AI人工智能

2025-02-05 10:02:03

Locust測試異常處理

2022-07-11 07:36:36

緩存緩存雪崩緩存擊穿

2023-03-30 22:39:39

MySQL數(shù)據(jù)庫

2017-01-12 19:34:58

2022-11-02 15:56:45

littlefscommit機制

2021-12-13 09:55:04

機房巡檢通信機房

2024-06-13 11:43:39

2013-04-07 10:01:26

Java異常處理

2019-05-19 16:53:57

TCP協(xié)議TCP通信三次握手

2023-11-22 09:42:02

系統(tǒng)檢測

2010-11-03 13:09:14

DB2卸載方法

2024-05-07 07:58:47

C#程序類型

2022-11-16 09:03:35

Sentry前端監(jiān)控
點贊
收藏

51CTO技術(shù)棧公眾號