在Debian系統(tǒng)中,數(shù)據(jù)記錄和展示它涉及到日志后臺(tái)守護(hù)進(jìn)程、日志分析、定制文本數(shù)據(jù)的顯示、定制時(shí)間和日期的顯示、shell中echo的顏色、有顏色輸出的命令、記錄編輯器復(fù)雜的重復(fù)操作動(dòng)作、記錄X應(yīng)用程序的圖像以及記錄配置文件的變更等,本教程將詳細(xì)介紹這些方面。
一、日志后臺(tái)守護(hù)進(jìn)程
許多傳統(tǒng)的程序在”/var/log/” 目錄下用文本文件格式記錄它們的活動(dòng)。在一個(gè)產(chǎn)生很多日志文件的系統(tǒng)上,用 logrotate(8)來(lái)簡(jiǎn)化日志文件的管理。
許多新的程序使用 systemd-journald(8) 日志服務(wù)的二進(jìn)制文件格式來(lái)記錄它們的活動(dòng),在”/var/log/journal” 目錄下。能夠從 shell 腳本記錄數(shù)據(jù)到 systemd-journald(8) 日志,使用 systemd-cat(1) 命令。
二、日志分析
這里是主要的日志分析軟件 (“~Gsecurity::log-analyzer” 在 aptitude(8) 中).
系統(tǒng)日志分析軟件列表:
軟件包 | 流行度 | 大小 | 說(shuō)明 |
logwatch | V:12, I:14 | 2328 | 用 Perl 寫的日志分析軟件,有好的輸出 |
fail2ban | V:100, I:113 | 2129 | 禁用造成多個(gè)認(rèn)證錯(cuò)誤的 IP |
analog | V:3, I:96 | 3739 | web 服務(wù)器日志分析 |
awstats | V:7, I:11 | 6928 | 強(qiáng)大和特性全面的 web 服務(wù)器日志分析 |
sarg | V:1, I:1 | 845 | 生成 squid 分析報(bào)告 |
pflogsumm | V:1, I:4 | 109 | Postfix 日志條目概要 |
fwlogwatch | V:0, I:0 | 480 | 防火墻日志分析軟件 |
squidview | V:0, I:0 | 189 | 監(jiān)控和分析 squid access.log 文件 |
swatch | V:0, I:0 | 99 | 有正則表達(dá)式、高亮和曲線的日志文件查看器 |
crm114 | V:0, I:0 | 1119 | Controllable Regex Mutilator 和垃圾郵件過(guò)濾 (CRM114) |
icmpinfo | V:0, I:0 | 44 | 解釋 ICMP 信息 |
CRM114 提供語(yǔ)言架構(gòu)來(lái)寫模糊 過(guò)濾器,使用了 TRE 正則表達(dá)式庫(kù) 。它主要在垃圾郵件過(guò)濾器中使用,但也能夠用于日志分析。
三、文本數(shù)據(jù)顯示
盡管例如 more(1) 和 less(1) 這樣的分頁(yè)程序和用于高亮和格式的自定義工具可以漂亮地顯示文本數(shù)據(jù),但通用的編輯器是用途最廣的,且可定制性最高。
對(duì)于 vim(1) 和它的分頁(yè)模式別名 view(1),“:set hls” 可以啟用高亮搜索。
四、時(shí)間/日期顯示
“l(fā)s -l” 命令默認(rèn)的時(shí)間和日期顯示格式取決于語(yǔ)言環(huán)境?!?LANG” 變量將被首先考慮,但它會(huì)被導(dǎo)出的 “$LC_TIME” 或 “$LC_ALL”環(huán)境變量覆蓋。
每個(gè)語(yǔ)言環(huán)境實(shí)際的默認(rèn)顯示格式取決于所使用的 C 標(biāo)準(zhǔn)庫(kù)的版本(libc6 軟件包),也就是說(shuō),不同的 Debian 發(fā)行版有不同的默認(rèn)情況。
如果真的想自定義超出語(yǔ)言環(huán)境的時(shí)間和日期顯示格式,應(yīng)該通過(guò) “–time-style” 參數(shù)或 “$TIME_STYLE” 的值來(lái)設(shè)置時(shí)間樣式值。
使用 時(shí)間樣式值 的”ls -l” 命令的時(shí)間和日期的顯示例子:
時(shí)間樣式值 | 語(yǔ)言環(huán)境 | 時(shí)間和日期顯示 |
---|---|---|
iso |
任何值 | 01-19 00:15 |
long-iso |
任何值 | 2009-01-19 00:15 |
full-iso |
任何值 | 2009-01-19 00:15:16.000000000 +0900 |
語(yǔ)言環(huán)境 |
C |
Jan 19 00:15 |
語(yǔ)言環(huán)境 |
en_US.UTF-8 |
Jan 19 00:15 |
語(yǔ)言環(huán)境 |
es_ES.UTF-8 |
ene 19 00:15 |
+%d.%m.%y %H:%M |
任何值 | 19.01.09 00:15 |
+%d.%b.%y %H:%M |
C ?或?en_US.UTF-8 |
19.Jan.09 00:15 |
+%d.%b.%y %H:%M |
es_ES.UTF-8 |
19.ene.09 00:15 |
可以使用命令別名以避免在命令行中輸入長(zhǎng)的選項(xiàng):
alias ls='ls --time-style=+%d.%m.%y %H:%M'
五、shell中echo顏色
大部分現(xiàn)代終端的 shell 中 echo 能夠使用 ANSI 轉(zhuǎn)義字符來(lái)顯示顏色。
嘗試下列例子:
$ RED=$(printf "\x1b[31m") $ NORMAL=$(printf "\x1b[0m") $ REVERSE=$(printf "\x1b[7m") $ echo "${RED}RED-TEXT${NORMAL} ${REVERSE}REVERSE-TEXT${NORMAL}"
六、有顏色輸出命令
在交互式的環(huán)境下,命令的輸出帶顏色,能夠給檢查命令的輸出帶來(lái)便利。 我在我的”~/.bashrc”里加入了下面內(nèi)容.
if [ "$TERM" != "dumb" ]; then eval "`dircolors -b`" alias ls='ls --color=always' alias ll='ls --color=always -l' alias la='ls --color=always -A' alias less='less -R' alias ls='ls --color=always' alias grep='grep --color=always' alias egrep='egrep --color=always' alias fgrep='fgrep --color=always' alias zgrep='zgrep --color=always' else alias ll='ls -l' alias la='ls -A' fi
在交互式命令中,使用別名來(lái)限制顏色的影響范圍。導(dǎo)出環(huán)境變量 “export GREP_OPTIONS=’–color=auto'” 也有好處,這樣能夠讓 less(1) 之類的頁(yè)面程序看到顏色。當(dāng)使用管道到其它命令時(shí),想去掉顏色,上面列子 “~/.bashrc” 中的內(nèi)容,可以使用 “–color=auto” 代替.
注意:在交互式的環(huán)境中,通過(guò)”TERM=dumb bash”調(diào)用 shell ,能夠關(guān)閉這些顏色別名。
七、記錄重復(fù)操作
能夠記錄編輯器復(fù)雜的重復(fù)操作動(dòng)作。
對(duì)于 Vim,請(qǐng)按下面操作:
- “qa”: 開始記錄輸入字符到有名字的寄存器 “a”;
- … 編輯器操作;
- “q”: 結(jié)束記錄輸入的字符;
- “@a”:執(zhí)行寄存器 “a 的內(nèi)容”。
對(duì)于 Emacs, 請(qǐng)按下面操作:
- “C-x (“: 開始定義一個(gè)鍵盤宏;
- … 編輯器操作;
- “C-x )”:結(jié)束定義一個(gè)鍵盤宏;
- “C-x e”: 執(zhí)行一個(gè)鍵盤宏。
八、記錄X圖像
有少量方法可以記錄 X 應(yīng)用程序的圖像,包括 xterm 顯示。
圖形圖像處理工具列表:
軟件包 | 流行度 | 大小 | 屏幕 | 命令 |
gnome-screenshot | V:19, I:184 | 1134 | Wayland | GNOME 下的截屏程序 |
flameshot | V:8, I:15 | 3364 | Wayland | 強(qiáng)大的截屏程序 |
gimp | V:38, I:255 | 19303 | Wayland + X | GUI 菜單中的截屏 |
x11-apps | V:31, I:460 | 2460 | X | xwd(1) |
imagemagick | I:319 | 73 | X | import(1) |
scrot | V:5, I:64 | 131 | X | scrot(1) |
九、記錄配置文件變更
有特定的工具可以通過(guò) DVCS 的幫助來(lái)記錄配置文件的變更和在 Btrfs 上制作系統(tǒng)快照。
記錄配置歷史的軟件包列表:
軟件包 | 流行度 | 大小 | 說(shuō)明 |
etckeeper | V:26, I:30 | 164 | 使用 Git(默認(rèn))、Mercurial 或 GNU Bazaar 來(lái)保存配置文件和它們的元數(shù)據(jù) |
timeshift | V:5, I:9 | 3421 | 使用 rsync 或 BTRFS 快照的系統(tǒng)恢復(fù)工具 |
snapper | V:4, I:5 | 2419 | Linux 文件系統(tǒng)快照管理工具 |