- 积分
- 16844
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2017-11-30 10:51:23
|
显示全部楼层
日志管理' a" e% \' y, U" V% M# }% P
Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。
6 j% l6 f/ D& a* e0 o
( u/ J7 |+ r8 z7 hjournalctl功能强大,用法非常多。! R; T4 W! X2 H5 e( w
) _; T/ g- E- \8 m; m* n; O" `4 n4 y 查看所有日志(默认情况下 ,只保存本次启动的日志) 1 B8 n$ W6 W' k- M
# journalctl
& ~7 a6 O& o9 E/ C 查看内核日志(不显示应用日志)6 C# a; k/ ~& }5 \" e& d
# journalctl -k7 Z, Y- k4 M5 |& Z1 K
查看系统本次启动的日志
. G7 v; J$ n) G& _0 J# [ # journalctl -b
: Z8 z$ ?/ d: ^- ? # journalctl -b -0; ~+ e: {4 I- [7 d3 n3 t6 w
查看上一次启动的日志(需更改设置)
8 i4 J8 a, F# _) [" l/ ~ # journalctl -b -1
* K2 H. O& M# D7 A1 `) \5 R/ G 查看指定时间的日志
2 G* c, H' d2 F5 I8 N # journalctl --since="2012-10-30 18:17:16"2 q, G5 s7 Q9 {
# journalctl --since "20 min ago"( z: b" t1 `5 n# [; w7 \
# journalctl --since yesterday- B; Q6 U/ l5 W1 ]5 B
# journalctl --since "2015-01-10" --until "2015-01-11 03:00"% a- b5 u7 C( N5 {' a3 @
# journalctl --since 09:00 --until "1 hour ago"7 G3 m6 y( v( B
显示尾部的最新10行日志) E$ \; w, {* _" j& q! H
# journalctl -n: J- A7 p! m }$ m
显示尾部指定行数的日志
8 Z" g8 f: M5 ^% x; I- g3 G # journalctl -n 20
2 R. b# e! K" D' o* L, y* ^0 w) A 实时滚动显示最新日志
+ Y& ?+ I3 a4 L5 ^7 n& b # journalctl -f
4 j) D( r$ L% U! R j ` 查看指定服务的日志' I8 _# U, _) ? m7 E2 Q
# journalctl /usr/lib/systemd/systemd2 i6 E# M* @# v* F) A
查看指定进程的日志
6 d3 A: a( a: [% l, r/ n3 ? # journalctl _PID=1& a6 n4 U$ F! P( ], f* Z1 d4 W
查看某个路径的脚本的日志3 V! S4 m) ^1 p& y. f
# journalctl /usr/bin/bash$ [6 E. U6 a0 g* s( N
查看指定用户的日志
4 K- w, k0 k; y # journalctl _UID=33 --since today F9 g9 O5 _; J. u' t. I
查看某个 Unit 的日志. r( c8 f. Z7 u9 P4 j, _! e
# journalctl -u nginx.service) A+ @* U! [9 X# D$ W& m# S
# journalctl -u nginx.service --since today
5 j2 ]+ m$ Z* \ t h 实时滚动显示某个 Unit 的最新日志
* b1 @/ g& k B, ~8 ^7 _ # journalctl -u nginx.service -f
, k5 t1 F. V' h9 ~6 U/ }5 n 合并显示多个 Unit 的日志
0 [- y/ u2 W$ K8 X # journalctl -u nginx.service -u php-fpm.service --since today# u6 L+ S# Q8 U4 A, I" g
2 F/ A4 [# Z3 z k" v- x/ m0 q* H查看指定优先级(及其以上级别)的日志,共有8级
$ M) M/ g0 L$ ?$ V( o
H: [# _$ L4 h) h3 L9 U0: emerg( x/ `& z. T: ?' }! X+ @3 [
1: alert
& F) E4 K5 f- r0 ? 2: crit
1 v5 d" ]9 x9 Q7 C, Q, Y { 3: err
- t0 }+ m4 _" H/ G! B, B 4: warning6 k# A5 O3 z; p9 m) M
5: notice
0 O% f: R: @( l, J) c 6: info
6 ^& a* y8 X& S+ C* r* S! U 7: debug
3 g, S7 w" n4 F+ | r! i # journalctl -p err -b; X \* y* v h7 H
日志默认分页输出,--no-pager 改为正常的标准输出( v: o+ z d" E$ a7 Q
# journalctl --no-pager% k8 G2 o/ a/ z( S2 y' ?# G' U
以 JSON 格式(单行)输出
' `3 s4 M3 I* u # journalctl -b -u nginx.service -o json: } R* c3 `+ A. f$ l/ y. d! _
以 JSON 格式(多行)输出,可读性更好; m9 }0 h* u' e Y: r5 I+ v4 u
# journalctl -b -u nginx.serviceqq
: |0 a7 F. N4 ?# q+ P, M -o json-pretty
8 C/ l5 V+ C U0 l 显示日志占据的硬盘空间
" ? D5 J. n4 }* q: |) W # journalctl --disk-usage
: k) F5 m: O7 U' \5 F# F' E( w 指定日志文件占据的最大空间
, Y- s! w, p1 j7 }1 l$ ` # journalctl --vacuum-size=1G% g3 g s Q" A" t9 S# r
指定日志文件保存多久
9 c: K/ S9 U; u7 T- q, ~ # journalctl --vacuum-time=1years
2 T9 V( S' z( V: _ X$ {* q) }8 {' l' C6 M$ M
2 p" i4 ^) ~& q' o1 C( t
, c3 J7 T5 d7 g' m. n/ T
|
|