|
|
楼主 |
发表于 2017-11-30 10:51:23
|
显示全部楼层
日志管理
6 z/ M* o. _2 ?, u0 l, y& ISystemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。
( U: Y$ x" o6 ?7 k; M
* a: S4 Y$ E" v/ @! d2 Kjournalctl功能强大,用法非常多。
2 \( d6 q, A4 l( o2 ?, C; C5 M
, b: n# [4 H8 F9 ~ 查看所有日志(默认情况下 ,只保存本次启动的日志) / H- N, M! v& K7 W
# journalctl& N- V4 X% w" s2 |" c6 d
查看内核日志(不显示应用日志)
2 u( E: j" @! o # journalctl -k" M1 S( l, g! Y+ R3 V# @& I
查看系统本次启动的日志. _; V, k: g8 S6 v: Z& m
# journalctl -b
0 T5 G8 B! I4 _+ { # journalctl -b -0+ C9 D0 m: {! [; N4 A, j; x$ l, K
查看上一次启动的日志(需更改设置)) j! V3 c. [& ^
# journalctl -b -1
Z' F3 C7 L2 c1 v% ^4 t 查看指定时间的日志
- q$ D. f/ h1 M( a! M" N # journalctl --since="2012-10-30 18:17:16"
* S0 C7 A0 h) W # journalctl --since "20 min ago"
( L8 y0 n: s8 e& v5 {' G # journalctl --since yesterday
" o, ?& Q( E6 R, O # journalctl --since "2015-01-10" --until "2015-01-11 03:00". J3 f L4 Q( ^1 Z9 z
# journalctl --since 09:00 --until "1 hour ago"( F0 t. r/ _9 e4 p. l! B" ^
显示尾部的最新10行日志1 N3 Y# V+ Z% w8 K
# journalctl -n% J+ N v) V @# c
显示尾部指定行数的日志
! G9 o! R% ^% L) I9 D: R5 N # journalctl -n 20$ n( H. E' n& \& v+ a4 t$ p/ A
实时滚动显示最新日志3 \9 k* I) l/ q5 r( c W; l% F
# journalctl -f( K8 o4 G. B+ f% p+ @
查看指定服务的日志0 M5 ^) }8 j, T, o4 ?
# journalctl /usr/lib/systemd/systemd
, U' |- K" E- a6 e$ V, j1 u/ w 查看指定进程的日志
/ H5 p( f/ ]7 r* d2 T+ {1 I0 ? # journalctl _PID=1
0 E! c, z# ~; R3 } 查看某个路径的脚本的日志1 n7 t% Y A3 ]! C( E9 ~
# journalctl /usr/bin/bash6 u4 `) e# R4 l/ ~9 h3 c3 _
查看指定用户的日志5 |2 j" U+ V: s% L
# journalctl _UID=33 --since today- J1 r' R8 f3 ~1 ~2 _, W7 m) S0 Z7 H8 C
查看某个 Unit 的日志
& [8 y! a) s1 p" [' N% | # journalctl -u nginx.service8 v' r/ H5 Y* j' E3 n) f3 s1 |
# journalctl -u nginx.service --since today7 F& {2 S2 w9 A5 g G# ?" M) w
实时滚动显示某个 Unit 的最新日志
. k$ K5 }" J0 E0 @4 K # journalctl -u nginx.service -f
G8 H$ `. h8 v/ ~3 e& _5 ~ 合并显示多个 Unit 的日志% }6 f% @9 r5 s, g# F
# journalctl -u nginx.service -u php-fpm.service --since today: C9 p {* U3 i% f& \+ B. J
: ^/ v" p" m O0 C' j" k
查看指定优先级(及其以上级别)的日志,共有8级
8 ?( p! W* |5 C6 ~. N4 j0 z6 \3 s" t
0: emerg
: [& S' I( R) d7 C! U( v4 w0 K# x 1: alert
1 f0 k5 x7 C0 [; A! ?9 b 2: crit2 [4 I f0 q5 w' t+ \7 W$ s
3: err
' {( w( ^, E: R% e; }8 v" Z 4: warning! f B: K5 @7 r, Y
5: notice' ]9 z+ C' i N0 ~1 f$ G
6: info
8 S s+ l( a1 g" H9 I& g- P 7: debug
* G u7 I5 A6 a; H. B7 Y # journalctl -p err -b
8 W8 M" |! r5 V8 K 日志默认分页输出,--no-pager 改为正常的标准输出
- a, X0 d- ^" e) B0 }2 ~ # journalctl --no-pager
3 y I" H8 f8 k" f% X$ U 以 JSON 格式(单行)输出
, `4 K! ^+ O, V# ]) ^; B # journalctl -b -u nginx.service -o json
* @1 G& `' g& F: J) d9 `. k+ U 以 JSON 格式(多行)输出,可读性更好
; t% O: ] c2 }+ F # journalctl -b -u nginx.serviceqq
9 L( _. Y$ M) Y3 [% x) s3 D( H -o json-pretty- L% K" G% t, S" j% V* A: S) [2 M
显示日志占据的硬盘空间; y4 K1 L1 \: I R
# journalctl --disk-usage
" u+ n0 S" E, A0 k/ B 指定日志文件占据的最大空间
+ d. m4 C, A8 r/ u% K # journalctl --vacuum-size=1G, ]* I+ v3 k9 X* d
指定日志文件保存多久
6 E; W6 d7 {/ R! k # journalctl --vacuum-time=1years3 o/ B6 K* b: q9 g9 o/ V9 u! R" [
5 J G2 K5 q- Q8 r2 ~+ S5 D7 t# ?( Y9 k+ P! `. p
5 R& Q. O+ I/ _" m5 k/ h
|
|