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

楼主 |
发表于 2017-11-30 10:51:23
|
显示全部楼层
日志管理; X* p" {& c+ J# w% t/ ?0 d
Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。
7 w8 {7 {3 a! P% B. |7 {$ y3 A$ i: b, o0 ?8 v4 d
journalctl功能强大,用法非常多。
0 Z4 D. g2 m* a+ S0 u# Q0 j- B, o1 A% M k+ Z I
查看所有日志(默认情况下 ,只保存本次启动的日志) ( M8 Z: P8 N: z/ R8 |4 z8 v
# journalctl
1 E4 T$ s+ q0 T } 查看内核日志(不显示应用日志)
, b$ H* b8 b' \3 s' L% i # journalctl -k
$ v h8 H( {+ X 查看系统本次启动的日志* w J% N1 F! F ?" `9 E5 c9 v6 G
# journalctl -b
# J7 @9 o- F! A; a& S; \! Q$ Q # journalctl -b -0
3 x/ c* {- C: u/ X 查看上一次启动的日志(需更改设置)' V6 f2 w: Z; G a& ]! c' Q
# journalctl -b -1
9 g& |+ Z4 Q6 e( W/ j$ z: X 查看指定时间的日志
, Y$ Z5 D) h! f! [ # journalctl --since="2012-10-30 18:17:16"# L# z* f1 E' t' N% s7 L* l) k
# journalctl --since "20 min ago"
7 u ?# Z! z8 D: ~. C8 L+ y # journalctl --since yesterday
$ h: w- \: w' q& K6 e # journalctl --since "2015-01-10" --until "2015-01-11 03:00"
/ I0 e H- L( v. W& L7 B7 ]$ A. g # journalctl --since 09:00 --until "1 hour ago", B* G( D. P& h3 B
显示尾部的最新10行日志
' ~* j4 K9 n- m( R0 [( d6 Z% P$ Y # journalctl -n: Y, M+ r& K8 Z9 H6 ?. J
显示尾部指定行数的日志% ?9 l- p7 x9 B
# journalctl -n 20
+ Y' R) F5 g t* @! i 实时滚动显示最新日志
" C5 i- n7 s0 G6 d) o" e # journalctl -f
- j, W3 |+ D, W) F2 ]# B0 i 查看指定服务的日志
: p& ]7 B+ [/ O0 G # journalctl /usr/lib/systemd/systemd+ m0 f; w' i, C* l e/ O2 {
查看指定进程的日志
' X, f R" j, C) U" F # journalctl _PID=10 G( x0 c x& S/ y( c5 u% x! ?
查看某个路径的脚本的日志
+ @* E( a) J T( ~( h# F9 }. f # journalctl /usr/bin/bash
2 L9 J- u. |5 n% M+ K7 } a 查看指定用户的日志/ R# ~1 y6 c3 l2 T
# journalctl _UID=33 --since today2 Z' N2 z# S6 X/ t3 ?
查看某个 Unit 的日志" Q7 C2 v/ I7 a- F# J
# journalctl -u nginx.service: j- v' E: b6 l) w2 L
# journalctl -u nginx.service --since today5 P# o, V/ V. C5 ]3 X
实时滚动显示某个 Unit 的最新日志
0 |- H# X/ g' w3 c$ D4 _8 f # journalctl -u nginx.service -f# E0 m4 C4 \" [. @% D& @; j; W
合并显示多个 Unit 的日志
, p3 Q% @ w( M1 e9 f # journalctl -u nginx.service -u php-fpm.service --since today' i( d3 z' T2 @/ N4 u: P2 e
$ p$ Z* M: b) X6 }8 a0 V
查看指定优先级(及其以上级别)的日志,共有8级3 }* g! n( n: s5 T& ^
% @9 x- O$ Y# B; n
0: emerg; {% `" V! ]- ]& i
1: alert' p G0 I3 X' P7 z/ X0 \% n. s* B1 g
2: crit
, {% {6 m7 N7 u% t# [% V 3: err. {3 \5 z- A$ m" Q2 {. b
4: warning
& d7 F( p7 w( S 5: notice$ l; x3 {' b* v6 u; r7 [$ F
6: info
2 p4 q1 n% i" M+ e* B3 h 7: debug0 P( \) F, C2 u6 j7 E
# journalctl -p err -b: t# E! p! d% g8 L
日志默认分页输出,--no-pager 改为正常的标准输出3 D! M# I' L+ B, n( b2 R7 R
# journalctl --no-pager
9 _' p& G2 O5 }2 {8 \- F 以 JSON 格式(单行)输出0 i6 H+ D! G- y7 y& K# O( `
# journalctl -b -u nginx.service -o json7 r5 j& s) m: l
以 JSON 格式(多行)输出,可读性更好
" {" w1 x# R0 _; d2 ^ # journalctl -b -u nginx.serviceqq
8 h( s: V4 ? ]0 S2 s. c! T -o json-pretty3 T3 V/ {7 y0 {# _- h$ V. h
显示日志占据的硬盘空间
- R7 B Y& Y! C # journalctl --disk-usage! i, E2 r: _0 @3 [: b
指定日志文件占据的最大空间
1 k! R# F" F' j- f( s& I2 ` # journalctl --vacuum-size=1G
g9 N, y+ D' I) f+ ^% _& O( ] 指定日志文件保存多久
% o$ Q0 z: T: i( p d # journalctl --vacuum-time=1years/ C" |% N! H" K% k* a
4 w, m. h; w% [8 }# V8 F
& q1 b, \! {- P: G7 r: V V; g# T8 L
|
|