]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/journalctl.xml
shell-completion: redirect all errors from systemctl to /dev/null
[thirdparty/systemd.git] / man / journalctl.xml
CommitLineData
2af777ba
LP
1<?xml version='1.0'?> <!--*-nxml-*-->
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
12b42c76 3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2af777ba
LP
4
5<!--
6 This file is part of systemd.
7
8 Copyright 2012 Lennart Poettering
9
10 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
11 under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
2af777ba
LP
13 (at your option) any later version.
14
15 systemd is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2 18 Lesser General Public License for more details.
2af777ba 19
5430f7f2 20 You should have received a copy of the GNU Lesser General Public License
2af777ba
LP
21 along with systemd; If not, see <http://www.gnu.org/licenses/>.
22-->
23
49fba678
ZJS
24 <refentry id="journalctl"
25 xmlns:xi="http://www.w3.org/2001/XInclude">
26
27 <refentryinfo>
28 <title>journalctl</title>
29 <productname>systemd</productname>
30
31 <authorgroup>
32 <author>
33 <contrib>Developer</contrib>
34 <firstname>Lennart</firstname>
35 <surname>Poettering</surname>
36 <email>lennart@poettering.net</email>
37 </author>
38 </authorgroup>
39 </refentryinfo>
40
41 <refmeta>
42 <refentrytitle>journalctl</refentrytitle>
43 <manvolnum>1</manvolnum>
44 </refmeta>
45
46 <refnamediv>
47 <refname>journalctl</refname>
48 <refpurpose>Query the systemd journal</refpurpose>
49 </refnamediv>
50
51 <refsynopsisdiv>
52 <cmdsynopsis>
53 <command>journalctl</command>
54 <arg choice="opt" rep="repeat">OPTIONS</arg>
55 <arg choice="opt" rep="repeat">MATCHES</arg>
56 </cmdsynopsis>
57 </refsynopsisdiv>
58
59 <refsect1>
60 <title>Description</title>
61
62 <para><command>journalctl</command> may be used to query the
63 contents of the
64 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
65 journal as written by
66 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
67
68 <para>If called without parameters, it will show the full
69 contents of the journal, starting with the oldest entry
70 collected.</para>
71
72 <para>If one or more match arguments are passed, the output is
73 filtered accordingly. A match is in the format
74 <literal>FIELD=VALUE</literal>,
75 e.g. <literal>_SYSTEMD_UNIT=httpd.service</literal>, referring
76 to the components of a structured journal entry. See
77 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>
78 for a list of well-known fields. If multiple matches are
79 specified matching different fields, the log entries are
80 filtered by both, i.e. the resulting output will show only
81 entries matching all the specified matches of this kind. If two
82 matches apply to the same field, then they are automatically
83 matched as alternatives, i.e. the resulting output will show
84 entries matching any of the specified matches for the same
a8eaaee7 85 field. Finally, the character <literal>+</literal> may appear
49fba678
ZJS
86 as a separate word between other terms on the command line. This
87 causes all matches before and after to be combined in a
88 disjunction (i.e. logical OR).</para>
89
13317a22 90 <para>It is also possible to filter the entries by specifying an
91 absolute file path as an argument. The file path may be a file or
92 a symbolic link and the file must exist at the time of the query. If a
93 file path refers to an executable binary, an <literal>_EXE=</literal>
94 match for the canonicalized binary path is added to the query. If a
95 file path refers to an executable script, a <literal>_COMM=</literal>
96 match for the script name is added to the query. If a file path
97 refers to a device node, <literal>_KERNEL_DEVICE=</literal> matches for
98 the kernel name of the device and for each of its ancestor devices is
99 added to the query. Symbolic links are dereferenced, kernel names are
100 synthesized, and parent devices are identified from the environment at
101 the time of the query. In general, a device node is the best proxy for
102 an actual device, as log entries do not usually contain fields that
103 identify an actual device. For the resulting log entries to be correct
104 for the actual device, the relevant parts of the environment at the time
105 the entry was logged, in particular the actual device corresponding to
106 the device node, must have been the same as those at the time of the
107 query. Because device nodes generally change their corresponding devices
108 across reboots, specifying a device node path causes the resulting
109 entries to be restricted to those from the current boot.</para>
49fba678
ZJS
110
111 <para>Additional constraints may be added using options
b938cb90 112 <option>--boot</option>, <option>--unit=</option>, etc., to
49fba678
ZJS
113 further limit what entries will be shown (logical AND).</para>
114
115 <para>Output is interleaved from all accessible journal files,
116 whether they are rotated or currently being written, and
117 regardless of whether they belong to the system itself or are
118 accessible user journals.</para>
119
120 <para>The set of journal files which will be used can be
121 modified using the <option>--user</option>,
122 <option>--system</option>, <option>--directory</option>, and
123 <option>--file</option> options, see below.</para>
124
125 <para>All users are granted access to their private per-user
126 journals. However, by default, only root and users who are
42d8fafc 127 members of a few special groups are granted access to the system
1d3eaa93 128 journal and the journals of other users. Members of the groups
42d8fafc 129 <literal>systemd-journal</literal>, <literal>adm</literal>, and
1d3eaa93 130 <literal>wheel</literal> can read all journal files. Note
42d8fafc
ZJS
131 that the two latter groups traditionally have additional
132 privileges specified by the distribution. Members of the
133 <literal>wheel</literal> group can often perform administrative
134 tasks.</para>
49fba678
ZJS
135
136 <para>The output is paged through <command>less</command> by
137 default, and long lines are "truncated" to screen width. The
138 hidden part can be viewed by using the left-arrow and
139 right-arrow keys. Paging can be disabled; see the
140 <option>--no-pager</option> option and the "Environment" section
141 below.</para>
142
143 <para>When outputting to a tty, lines are colored according to
144 priority: lines of level ERROR and higher are colored red; lines
145 of level NOTICE and higher are highlighted; other lines are
146 displayed normally.</para>
147 </refsect1>
148
149 <refsect1>
150 <title>Options</title>
151
152 <para>The following options are understood:</para>
153
154 <variablelist>
155 <varlistentry>
156 <term><option>--no-full</option></term>
157 <term><option>--full</option></term>
158 <term><option>-l</option></term>
159
160 <listitem><para>Ellipsize fields when they do not fit in
161 available columns. The default is to show full fields,
162 allowing them to wrap or be truncated by the pager, if one
163 is used.</para>
164
165 <para>The old options
166 <option>-l</option>/<option>--full</option> are not useful
167 anymore, except to undo <option>--no-full</option>.</para>
168 </listitem>
169 </varlistentry>
170
171 <varlistentry>
172 <term><option>-a</option></term>
173 <term><option>--all</option></term>
174
175 <listitem><para>Show all fields in full, even if they
176 include unprintable characters or are very
177 long.</para></listitem>
178 </varlistentry>
179
180 <varlistentry>
181 <term><option>-f</option></term>
182 <term><option>--follow</option></term>
183
184 <listitem><para>Show only the most recent journal entries,
185 and continuously print new entries as they are appended to
186 the journal.</para></listitem>
187 </varlistentry>
188
189 <varlistentry>
190 <term><option>-e</option></term>
191 <term><option>--pager-end</option></term>
192
193 <listitem><para>Immediately jump to the end of the journal
194 inside the implied pager tool. This implies
195 <option>-n1000</option> to guarantee that the pager will not
196 buffer logs of unbounded size. This may be overridden with
197 an explicit <option>-n</option> with some other numeric
b938cb90 198 value, while <option>-nall</option> will disable this cap.
49fba678
ZJS
199 Note that this option is only supported for the
200 <citerefentry project='man-pages'><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry>
201 pager.</para></listitem>
202 </varlistentry>
203
204 <varlistentry>
205 <term><option>-n</option></term>
206 <term><option>--lines=</option></term>
207
208 <listitem><para>Show the most recent journal events and
209 limit the number of events shown. If
210 <option>--follow</option> is used, this option is
211 implied. The argument is a positive integer or
212 <literal>all</literal> to disable line limiting. The default
213 value is 10 if no argument is given.</para></listitem>
214 </varlistentry>
215
216 <varlistentry>
217 <term><option>--no-tail</option></term>
218
219 <listitem><para>Show all stored output lines, even in follow
220 mode. Undoes the effect of <option>--lines=</option>.
221 </para></listitem>
222 </varlistentry>
223
224 <varlistentry>
225 <term><option>-r</option></term>
226 <term><option>--reverse</option></term>
227
228 <listitem><para>Reverse output so that the newest entries
229 are displayed first.</para></listitem>
230 </varlistentry>
231
232 <varlistentry>
233 <term><option>-o</option></term>
234 <term><option>--output=</option></term>
235
236 <listitem><para>Controls the formatting of the journal
237 entries that are shown. Takes one of the following
238 options:</para>
239 <variablelist>
240 <varlistentry>
241 <term>
242 <option>short</option>
243 </term>
244 <listitem>
245 <para>is the default and generates an output that is
246 mostly identical to the formatting of classic syslog
247 files, showing one line per journal entry.</para>
248 </listitem>
249 </varlistentry>
250
29a753df
LP
251 <varlistentry>
252 <term>
253 <option>short-full</option>
254 </term>
255 <listitem>
256 <para>is very similar, but shows timestamps in the format the <option>--since=</option> and
257 <option>--until=</option> options accept. Unlike the timestamp information shown in
258 <option>short</option> output mode this mode includes weekday, year and timezone information in the
259 output, and is locale-independent.</para>
260 </listitem>
261 </varlistentry>
262
49fba678
ZJS
263 <varlistentry>
264 <term>
265 <option>short-iso</option>
266 </term>
267 <listitem>
268 <para>is very similar, but shows ISO 8601 wallclock
269 timestamps.</para>
270 </listitem>
271 </varlistentry>
272
273 <varlistentry>
274 <term>
275 <option>short-precise</option>
276 </term>
277 <listitem>
278 <para>is very similar, but shows timestamps with full
279 microsecond precision.</para>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry>
284 <term>
285 <option>short-monotonic</option>
286 </term>
287 <listitem>
288 <para>is very similar, but shows monotonic timestamps
289 instead of wallclock timestamps.</para>
290 </listitem>
291 </varlistentry>
292
bb321ed9
LP
293 <varlistentry>
294 <term>
295 <option>short-unix</option>
296 </term>
297 <listitem>
298 <para>is very similar, but shows seconds passed since January 1st 1970 UTC instead of wallclock
299 timestamps ("UNIX time"). The time is shown with microsecond accuracy.</para>
300 </listitem>
301 </varlistentry>
302
49fba678
ZJS
303 <varlistentry>
304 <term>
305 <option>verbose</option>
306 </term>
307 <listitem>
308 <para>shows the full-structured entry items with all
309 fields.</para>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry>
314 <term>
315 <option>export</option>
316 </term>
317 <listitem>
318 <para>serializes the journal into a binary (but mostly
319 text-based) stream suitable for backups and network
320 transfer (see
321 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink>
72d17ce6
BS
322 for more information). To import the binary stream back
323 into native journald format use
324 <citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
49fba678
ZJS
325 </listitem>
326 </varlistentry>
327
328 <varlistentry>
329 <term>
330 <option>json</option>
331 </term>
332 <listitem>
333 <para>formats entries as JSON data structures, one per
334 line (see
335 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/json">Journal JSON Format</ulink>
336 for more information).</para>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry>
341 <term>
342 <option>json-pretty</option>
343 </term>
344 <listitem>
345 <para>formats entries as JSON data structures, but
346 formats them in multiple lines in order to make them
347 more readable by humans.</para>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry>
352 <term>
353 <option>json-sse</option>
354 </term>
355 <listitem>
356 <para>formats entries as JSON data structures, but wraps
357 them in a format suitable for
358 <ulink url="https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events">Server-Sent Events</ulink>.
77a9e8de 359 </para>
49fba678
ZJS
360 </listitem>
361 </varlistentry>
362
363 <varlistentry>
364 <term>
365 <option>cat</option>
366 </term>
367 <listitem>
368 <para>generates a very terse output, only showing the
369 actual message of each journal entry with no metadata,
370 not even a timestamp.</para>
371 </listitem>
372 </varlistentry>
373 </variablelist>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry>
378 <term><option>--utc</option></term>
379
380 <listitem><para>Express time in Coordinated Universal Time
381 (UTC).</para></listitem>
991e274b
LP
382 </varlistentry>
383
384 <varlistentry>
385 <term><option>--no-hostname</option></term>
386
387 <listitem><para>Don't show the hostname field of log messages originating from the local host. This switch only
388 has an effect on the <option>short</option> family of output modes (see above).</para></listitem>
49fba678
ZJS
389 </varlistentry>
390
391 <varlistentry>
392 <term><option>-x</option></term>
393 <term><option>--catalog</option></term>
394
395 <listitem><para>Augment log lines with explanation texts from
396 the message catalog. This will add explanatory help texts to
397 log messages in the output where this is available. These
398 short help texts will explain the context of an error or log
399 event, possible solutions, as well as pointers to support
400 forums, developer documentation, and any other relevant
401 manuals. Note that help texts are not available for all
402 messages, but only for selected ones. For more information on
403 the message catalog, please refer to the
404 <ulink url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Message Catalog Developer Documentation</ulink>.</para>
405
406 <para>Note: when attaching <command>journalctl</command>
407 output to bug reports, please do <emphasis>not</emphasis> use
408 <option>-x</option>.</para>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry>
413 <term><option>-q</option></term>
414 <term><option>--quiet</option></term>
415
20d936ba 416 <listitem><para>Suppresses all info messages
1eecafb8 417 (i.e. "-- Logs begin at …", "-- Reboot --"),
20d936ba 418 any warning messages regarding
49fba678
ZJS
419 inaccessible system journals when run as a normal
420 user.</para></listitem>
421 </varlistentry>
422
423 <varlistentry>
424 <term><option>-m</option></term>
425 <term><option>--merge</option></term>
426
427 <listitem><para>Show entries interleaved from all available
428 journals, including remote ones.</para></listitem>
429 </varlistentry>
430
431 <varlistentry>
432 <term><option>-b <optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
433 <term><option>--boot=<optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term>
434
435 <listitem><para>Show messages from a specific boot. This will
436 add a match for <literal>_BOOT_ID=</literal>.</para>
437
438 <para>The argument may be empty, in which case logs for the
439 current boot will be shown.</para>
440
441 <para>If the boot ID is omitted, a positive
442 <replaceable>offset</replaceable> will look up the boots
f2c624cb 443 starting from the beginning of the journal, and an
49fba678
ZJS
444 equal-or-less-than zero <replaceable>offset</replaceable> will
445 look up boots starting from the end of the journal. Thus,
446 <constant>1</constant> means the first boot found in the
447 journal in chronological order, <constant>2</constant> the
448 second and so on; while <constant>-0</constant> is the last
449 boot, <constant>-1</constant> the boot before last, and so
450 on. An empty <replaceable>offset</replaceable> is equivalent
451 to specifying <constant>-0</constant>, except when the current
452 boot is not the last boot (e.g. because
453 <option>--directory</option> was specified to look at logs
454 from a different machine).</para>
455
456 <para>If the 32-character <replaceable>ID</replaceable> is
457 specified, it may optionally be followed by
458 <replaceable>offset</replaceable> which identifies the boot
459 relative to the one given by boot
460 <replaceable>ID</replaceable>. Negative values mean earlier
f2c624cb 461 boots and positive values mean later boots. If
49fba678
ZJS
462 <replaceable>offset</replaceable> is not specified, a value of
463 zero is assumed, and the logs for the boot given by
464 <replaceable>ID</replaceable> are shown.</para>
465 </listitem>
466 </varlistentry>
467
468 <varlistentry>
469 <term><option>--list-boots</option></term>
470
471 <listitem><para>Show a tabular list of boot numbers (relative to
472 the current boot), their IDs, and the timestamps of the first
473 and last message pertaining to the boot.</para></listitem>
474 </varlistentry>
475
476 <varlistentry>
477 <term><option>-k</option></term>
478 <term><option>--dmesg</option></term>
479
480 <listitem><para>Show only kernel messages. This implies
481 <option>-b</option> and adds the match
482 <literal>_TRANSPORT=kernel</literal>.</para></listitem>
483 </varlistentry>
484
485 <varlistentry>
486 <term><option>-t</option></term>
fd8d05e9 487 <term><option>--identifier=<replaceable>SYSLOG_IDENTIFIER</replaceable></option></term>
49fba678
ZJS
488
489 <listitem><para>Show messages for the specified syslog
fd8d05e9
LP
490 identifier
491 <replaceable>SYSLOG_IDENTIFIER</replaceable>.</para>
49fba678
ZJS
492
493 <para>This parameter can be specified multiple
494 times.</para></listitem>
495 </varlistentry>
496
497 <varlistentry>
498 <term><option>-u</option></term>
499 <term><option>--unit=<replaceable>UNIT</replaceable>|<replaceable>PATTERN</replaceable></option></term>
500
501 <listitem><para>Show messages for the specified systemd unit
502 <replaceable>UNIT</replaceable> (such as a service unit), or
503 for any of the units matched by
504 <replaceable>PATTERN</replaceable>. If a pattern is
505 specified, a list of unit names found in the journal is
506 compared with the specified pattern and all that match are
507 used. For each unit name, a match is added for messages from
508 the unit
509 (<literal>_SYSTEMD_UNIT=<replaceable>UNIT</replaceable></literal>),
510 along with additional matches for messages from systemd and
511 messages about coredumps for the specified unit.</para>
512
513 <para>This parameter can be specified multiple times.</para>
514 </listitem>
515 </varlistentry>
516
517 <varlistentry>
518 <term><option>--user-unit=</option></term>
519
520 <listitem><para>Show messages for the specified user session
521 unit. This will add a match for messages from the unit
522 (<literal>_SYSTEMD_USER_UNIT=</literal> and
523 <literal>_UID=</literal>) and additional matches for messages
524 from session systemd and messages about coredumps for the
525 specified unit.</para>
526
527 <para>This parameter can be specified multiple times.</para>
528 </listitem>
529 </varlistentry>
530
531 <varlistentry>
532 <term><option>-p</option></term>
533 <term><option>--priority=</option></term>
534
535 <listitem><para>Filter output by message priorities or
536 priority ranges. Takes either a single numeric or textual log
537 level (i.e. between 0/<literal>emerg</literal> and
538 7/<literal>debug</literal>), or a range of numeric/text log
539 levels in the form FROM..TO. The log levels are the usual
540 syslog log levels as documented in
541 <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
542 i.e. <literal>emerg</literal> (0),
543 <literal>alert</literal> (1), <literal>crit</literal> (2),
544 <literal>err</literal> (3), <literal>warning</literal> (4),
545 <literal>notice</literal> (5), <literal>info</literal> (6),
546 <literal>debug</literal> (7). If a single log level is
547 specified, all messages with this log level or a lower (hence
548 more important) log level are shown. If a range is specified,
549 all messages within the range are shown, including both the
550 start and the end value of the range. This will add
551 <literal>PRIORITY=</literal> matches for the specified
552 priorities.</para></listitem>
553 </varlistentry>
554
555 <varlistentry>
556 <term><option>-c</option></term>
557 <term><option>--cursor=</option></term>
558
559 <listitem><para>Start showing entries from the location in the
560 journal specified by the passed cursor.</para></listitem>
561 </varlistentry>
562
563 <varlistentry>
564 <term><option>--after-cursor=</option></term>
565
566 <listitem><para>Start showing entries from the location in the
567 journal <emphasis>after</emphasis> the location specified by
f2c624cb 568 the passed cursor. The cursor is shown when the
49fba678
ZJS
569 <option>--show-cursor</option> option is used.</para>
570 </listitem>
571 </varlistentry>
572
573 <varlistentry>
574 <term><option>--show-cursor</option></term>
575
576 <listitem><para>The cursor is shown after the last entry after
577 two dashes:</para>
1eecafb8 578 <programlisting>-- cursor: s=0639…</programlisting>
49fba678
ZJS
579 <para>The format of the cursor is private
580 and subject to change.</para></listitem>
581 </varlistentry>
582
583 <varlistentry>
66f52924 584 <term><option>-S</option></term>
49fba678 585 <term><option>--since=</option></term>
66f52924 586 <term><option>-U</option></term>
49fba678
ZJS
587 <term><option>--until=</option></term>
588
29a753df
LP
589 <listitem><para>Start showing entries on or newer than the specified date, or on or older than the specified
590 date, respectively. Date specifications should be of the format <literal>2012-10-30 18:17:16</literal>. If the
591 time part is omitted, <literal>00:00:00</literal> is assumed. If only the seconds component is omitted,
592 <literal>:00</literal> is assumed. If the date component is omitted, the current day is assumed. Alternatively
593 the strings <literal>yesterday</literal>, <literal>today</literal>, <literal>tomorrow</literal> are understood,
594 which refer to 00:00:00 of the day before the current day, the current day, or the day after the current day,
595 respectively. <literal>now</literal> refers to the current time. Finally, relative times may be specified,
596 prefixed with <literal>-</literal> or <literal>+</literal>, referring to times before or after the current
597 time, respectively. For complete time and date specification, see
598 <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>. Note that
599 <option>--output=short-full</option> prints timestamps that follow precisely this format.
20b2aec0 600 </para>
49fba678
ZJS
601 </listitem>
602 </varlistentry>
603
604 <varlistentry>
605 <term><option>-F</option></term>
606 <term><option>--field=</option></term>
607
608 <listitem><para>Print all possible data values the specified
609 field can take in all entries of the journal.</para></listitem>
610 </varlistentry>
611
69e714f3
LP
612 <varlistentry>
613 <term><option>-N</option></term>
614 <term><option>--fields</option></term>
615
616 <listitem><para>Print all field names currently used in all entries of the journal.</para></listitem>
617 </varlistentry>
618
49fba678
ZJS
619 <varlistentry>
620 <term><option>--system</option></term>
621 <term><option>--user</option></term>
622
623 <listitem><para>Show messages from system services and the
624 kernel (with <option>--system</option>). Show messages from
625 service of current user (with <option>--user</option>). If
626 neither is specified, show all messages that the user can see.
627 </para></listitem>
628 </varlistentry>
629
630 <varlistentry>
631 <term><option>-M</option></term>
632 <term><option>--machine=</option></term>
633
634 <listitem><para>Show messages from a running, local
635 container. Specify a container name to connect to.</para>
636 </listitem>
637 </varlistentry>
638
639 <varlistentry>
640 <term><option>-D <replaceable>DIR</replaceable></option></term>
641 <term><option>--directory=<replaceable>DIR</replaceable></option></term>
642
643 <listitem><para>Takes a directory path as argument. If
644 specified, journalctl will operate on the specified journal
645 directory <replaceable>DIR</replaceable> instead of the
646 default runtime and system journal paths.</para></listitem>
647 </varlistentry>
648
649 <varlistentry>
650 <term><option>--file=<replaceable>GLOB</replaceable></option></term>
651
652 <listitem><para>Takes a file glob as an argument. If
653 specified, journalctl will operate on the specified journal
654 files matching <replaceable>GLOB</replaceable> instead of the
655 default runtime and system journal paths. May be specified
656 multiple times, in which case files will be suitably
657 interleaved.</para></listitem>
658 </varlistentry>
659
660 <varlistentry>
661 <term><option>--root=<replaceable>ROOT</replaceable></option></term>
662
663 <listitem><para>Takes a directory path as an argument. If
0a175093 664 specified, journalctl will operate on journal directories and catalog file hierarchy
49fba678
ZJS
665 underneath the specified directory instead of the root
666 directory (e.g. <option>--update-catalog</option> will create
0a175093
ZJS
667 <filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>,
668 and journal files under <filename><replaceable>ROOT</replaceable>/run/journal</filename>
669 or <filename><replaceable>ROOT</replaceable>/var/log/journal</filename> will be displayed).
49fba678
ZJS
670 </para></listitem>
671 </varlistentry>
672
673 <varlistentry>
674 <term><option>--new-id128</option></term>
675
676 <listitem><para>Instead of showing journal contents, generate
677 a new 128-bit ID suitable for identifying messages. This is
678 intended for usage by developers who need a new identifier for
679 a new message they introduce and want to make
680 recognizable. This will print the new ID in three different
681 formats which can be copied into source code or similar.
682 </para></listitem>
683 </varlistentry>
684
685 <varlistentry>
686 <term><option>--header</option></term>
687
688 <listitem><para>Instead of showing journal contents, show
689 internal header information of the journal fields
690 accessed.</para></listitem>
691 </varlistentry>
692
693 <varlistentry>
694 <term><option>--disk-usage</option></term>
695
696 <listitem><para>Shows the current disk usage of all journal
697 files. This shows the sum of the disk usage of all archived
698 and active journal files.</para></listitem>
699 </varlistentry>
700
701 <varlistentry>
702 <term><option>--vacuum-size=</option></term>
703 <term><option>--vacuum-time=</option></term>
8580d1f7 704 <term><option>--vacuum-files=</option></term>
49fba678
ZJS
705
706 <listitem><para>Removes archived journal files until the disk
707 space they use falls below the specified size (specified with
708 the usual <literal>K</literal>, <literal>M</literal>,
a8eaaee7 709 <literal>G</literal> and <literal>T</literal> suffixes), or all
9218e2ec 710 archived journal files contain no data older than the specified
49fba678 711 timespan (specified with the usual <literal>s</literal>,
9218e2ec 712 <literal>m</literal>, <literal>h</literal>,
49fba678 713 <literal>days</literal>, <literal>months</literal>,
a8eaaee7 714 <literal>weeks</literal> and <literal>years</literal> suffixes),
8580d1f7
LP
715 or no more than the specified number of separate journal files
716 remain. Note that running <option>--vacuum-size=</option> has
a8eaaee7 717 only an indirect effect on the output shown by
b938cb90 718 <option>--disk-usage</option>, as the latter includes active
f2c624cb 719 journal files, while the vacuuming operation only operates
a8eaaee7 720 on archived journal files. Similarly,
8580d1f7
LP
721 <option>--vacuum-files=</option> might not actually reduce the
722 number of journal files to below the specified number, as it
723 will not remove active journal
724 files. <option>--vacuum-size=</option>,
725 <option>--vacuum-time=</option> and
726 <option>--vacuum-files=</option> may be combined in a single
727 invocation to enforce any combination of a size, a time and a
728 number of files limit on the archived journal
729 files. Specifying any of these three parameters as zero is
730 equivalent to not enforcing the specific limit, and is thus
731 redundant.</para></listitem>
49fba678
ZJS
732 </varlistentry>
733
734 <varlistentry>
735 <term><option>--list-catalog
1eecafb8 736 <optional><replaceable>128-bit-ID…</replaceable></optional>
49fba678
ZJS
737 </option></term>
738
739 <listitem><para>List the contents of the message catalog as a
740 table of message IDs, plus their short description strings.
741 </para>
742
743 <para>If any <replaceable>128-bit-ID</replaceable>s are
744 specified, only those entries are shown.</para>
745 </listitem>
746 </varlistentry>
747
748 <varlistentry>
749 <term><option>--dump-catalog
1eecafb8 750 <optional><replaceable>128-bit-ID…</replaceable></optional>
49fba678
ZJS
751 </option></term>
752
753 <listitem><para>Show the contents of the message catalog, with
754 entries separated by a line consisting of two dashes and the
755 ID (the format is the same as <filename>.catalog</filename>
756 files).</para>
757
758 <para>If any <replaceable>128-bit-ID</replaceable>s are
759 specified, only those entries are shown.</para>
760 </listitem>
761 </varlistentry>
762
763 <varlistentry>
764 <term><option>--update-catalog</option></term>
765
766 <listitem><para>Update the message catalog index. This command
767 needs to be executed each time new catalog files are
768 installed, removed, or updated to rebuild the binary catalog
769 index.</para></listitem>
770 </varlistentry>
771
772 <varlistentry>
773 <term><option>--setup-keys</option></term>
774
775 <listitem><para>Instead of showing journal contents, generate
776 a new key pair for Forward Secure Sealing (FSS). This will
777 generate a sealing key and a verification key. The sealing key
778 is stored in the journal data directory and shall remain on
779 the host. The verification key should be stored
780 externally. Refer to the <option>Seal=</option> option in
781 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
782 for information on Forward Secure Sealing and for a link to a
783 refereed scholarly paper detailing the cryptographic theory it
784 is based on.</para></listitem>
785 </varlistentry>
786
787 <varlistentry>
788 <term><option>--force</option></term>
789
790 <listitem><para>When <option>--setup-keys</option> is passed
791 and Forward Secure Sealing (FSS) has already been configured,
792 recreate FSS keys.</para></listitem>
793 </varlistentry>
794
795 <varlistentry>
796 <term><option>--interval=</option></term>
cbdca852 797
49fba678
ZJS
798 <listitem><para>Specifies the change interval for the sealing
799 key when generating an FSS key pair with
800 <option>--setup-keys</option>. Shorter intervals increase CPU
801 consumption but shorten the time range of undetectable journal
802 alterations. Defaults to 15min.</para></listitem>
803 </varlistentry>
804
805 <varlistentry>
806 <term><option>--verify</option></term>
807
808 <listitem><para>Check the journal file for internal
809 consistency. If the file has been generated with FSS enabled and
810 the FSS verification key has been specified with
811 <option>--verify-key=</option>, authenticity of the journal file
812 is verified.</para></listitem>
813 </varlistentry>
814
815 <varlistentry>
816 <term><option>--verify-key=</option></term>
817
818 <listitem><para>Specifies the FSS verification key to use for
819 the <option>--verify</option> operation.</para></listitem>
820 </varlistentry>
821
94b65516
LP
822 <varlistentry>
823 <term><option>--sync</option></term>
824
dbd6e31c 825 <listitem><para>Asks the journal daemon to write all yet
94b65516
LP
826 unwritten journal data to the backing file system and
827 synchronize all journals. This call does not return until the
dbd6e31c
LP
828 synchronization operation is complete. This command guarantees
829 that any log messages written before its invocation are safely
830 stored on disk at the time it returns.</para></listitem>
94b65516
LP
831 </varlistentry>
832
49fba678
ZJS
833 <varlistentry>
834 <term><option>--flush</option></term>
835
a8eaaee7 836 <listitem><para>Asks the journal daemon to flush any log data
49fba678 837 stored in <filename>/run/log/journal</filename> into
94b65516
LP
838 <filename>/var/log/journal</filename>, if persistent storage
839 is enabled. This call does not return until the operation is
840 complete. Note that this call is idempotent: the data is only
841 flushed from <filename>/run/log/journal</filename> into
842 <filename>/var/log/journal</filename> once during system
843 runtime, and this command exits cleanly without executing any
17c22746 844 operation if this has already happened. This command
94b65516
LP
845 effectively guarantees that all data is flushed to
846 <filename>/var/log/journal</filename> at the time it
847 returns.</para></listitem>
49fba678 848 </varlistentry>
cbdca852 849
b92eb84c
EV
850 <varlistentry>
851 <term><option>--rotate</option></term>
852
dbd6e31c
LP
853 <listitem><para>Asks the journal daemon to rotate journal
854 files. This call does not return until the rotation operation
855 is complete.</para></listitem>
b92eb84c 856 </varlistentry>
dbd6e31c 857
49fba678
ZJS
858 <xi:include href="standard-options.xml" xpointer="help" />
859 <xi:include href="standard-options.xml" xpointer="version" />
860 <xi:include href="standard-options.xml" xpointer="no-pager" />
861 </variablelist>
862 </refsect1>
cbdca852 863
49fba678
ZJS
864 <refsect1>
865 <title>Exit status</title>
cbdca852 866
49fba678
ZJS
867 <para>On success, 0 is returned; otherwise, a non-zero failure
868 code is returned.</para>
869 </refsect1>
cbdca852 870
49fba678 871 <xi:include href="less-variables.xml" />
cbdca852 872
49fba678
ZJS
873 <refsect1>
874 <title>Examples</title>
b6a34514 875
49fba678
ZJS
876 <para>Without arguments, all collected logs are shown
877 unfiltered:</para>
b6a34514 878
49fba678 879 <programlisting>journalctl</programlisting>
b6a34514 880
49fba678
ZJS
881 <para>With one match specified, all entries with a field matching
882 the expression are shown:</para>
b6a34514 883
49fba678 884 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service</programlisting>
a331b5e6 885
49fba678
ZJS
886 <para>If two different fields are matched, only entries matching
887 both expressions at the same time are shown:</para>
a331b5e6 888
49fba678 889 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097</programlisting>
a1d4404f 890
49fba678
ZJS
891 <para>If two matches refer to the same field, all entries matching
892 either expression are shown:</para>
a1d4404f 893
49fba678 894 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service</programlisting>
cbdca852 895
49fba678
ZJS
896 <para>If the separator <literal>+</literal> is used, two
897 expressions may be combined in a logical OR. The following will
898 show all messages from the Avahi service process with the PID
899 28097 plus all messages from the D-Bus service (from any of its
900 processes):</para>
901
902 <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service</programlisting>
903
904 <para>Show all logs generated by the D-Bus executable:</para>
905
906 <programlisting>journalctl /usr/bin/dbus-daemon</programlisting>
907
49fba678
ZJS
908 <para>Show all kernel logs from previous boot:</para>
909
910 <programlisting>journalctl -k -b -1</programlisting>
911
912 <para>Show a live log display from a system service
913 <filename>apache.service</filename>:</para>
914
915 <programlisting>journalctl -f -u apache</programlisting>
916
917 </refsect1>
2af777ba 918
49fba678
ZJS
919 <refsect1>
920 <title>See Also</title>
921 <para>
922 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
923 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
924 <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
925 <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
926 <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
20b2aec0
JS
927 <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
928 <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>
49fba678
ZJS
929 </para>
930 </refsect1>
2af777ba 931</refentry>