ominfra 0.0.0.dev117__py3-none-any.whl → 0.0.0.dev119__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- ominfra/deploy/_executor.py +6 -2
- ominfra/deploy/poly/_main.py +6 -2
- ominfra/journald/fields.py +187 -0
- ominfra/journald/tailer.py +375 -312
- ominfra/pyremote/_runcommands.py +6 -2
- ominfra/scripts/journald2aws.py +381 -314
- ominfra/scripts/supervisor.py +649 -425
- ominfra/supervisor/__main__.py +1 -1
- ominfra/supervisor/context.py +50 -25
- ominfra/supervisor/dispatchers.py +8 -9
- ominfra/supervisor/main.py +68 -0
- ominfra/supervisor/poller.py +1 -3
- ominfra/supervisor/process.py +2 -4
- ominfra/supervisor/supervisor.py +100 -141
- {ominfra-0.0.0.dev117.dist-info → ominfra-0.0.0.dev119.dist-info}/METADATA +3 -3
- {ominfra-0.0.0.dev117.dist-info → ominfra-0.0.0.dev119.dist-info}/RECORD +20 -18
- {ominfra-0.0.0.dev117.dist-info → ominfra-0.0.0.dev119.dist-info}/LICENSE +0 -0
- {ominfra-0.0.0.dev117.dist-info → ominfra-0.0.0.dev119.dist-info}/WHEEL +0 -0
- {ominfra-0.0.0.dev117.dist-info → ominfra-0.0.0.dev119.dist-info}/entry_points.txt +0 -0
- {ominfra-0.0.0.dev117.dist-info → ominfra-0.0.0.dev119.dist-info}/top_level.txt +0 -0
ominfra/journald/tailer.py
CHANGED
@@ -9,333 +9,396 @@ TODO:
|
|
9
9
|
https://www.freedesktop.org/software/systemd/man/latest/journalctl.html
|
10
10
|
|
11
11
|
Source Options
|
12
|
-
--system, --user
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
--image
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
12
|
+
--system, --user
|
13
|
+
Show messages from system services and the kernel (with --system). Show messages from service of current user (with
|
14
|
+
--user). If neither is specified, show all messages that the user can see. The --user option affects how --unit=
|
15
|
+
arguments are treated. See --unit=. Note that --user only works if persistent logging is enabled, via the Storage=
|
16
|
+
setting in journald.conf(5).
|
17
|
+
-M, --machine=
|
18
|
+
Show messages from a running, local container. Specify a container name to connect to.
|
19
|
+
-m, --merge
|
20
|
+
Show entries interleaved from all available journals, including remote ones.
|
21
|
+
-D DIR, --directory=DIR
|
22
|
+
Takes a directory path as argument. If specified, journalctl will operate on the specified journal directory DIR
|
23
|
+
instead of the default runtime and system journal paths.
|
24
|
+
-i GLOB, --file=GLOB
|
25
|
+
Takes a file glob as an argument. If specified, journalctl will operate on the specified journal files matching GLOB
|
26
|
+
instead of the default runtime and system journal paths. May be specified multiple times, in which case files will
|
27
|
+
be suitably interleaved.
|
28
|
+
--root=ROOT
|
29
|
+
Takes a directory path as an argument. If specified, journalctl will operate on journal directories and catalog file
|
30
|
+
hierarchy underneath the specified directory instead of the root directory (e.g. --update-catalog will create
|
31
|
+
ROOT/var/lib/systemd/catalog/database, and journal files under ROOT/run/journal/ or ROOT/var/log/journal/ will be
|
32
|
+
displayed).
|
33
|
+
--image=IMAGE
|
34
|
+
Takes a path to a disk image file or block device node. If specified, journalctl will operate on the file system in
|
35
|
+
the indicated disk image. This option is similar to --root=, but operates on file systems stored in disk images or
|
36
|
+
block devices, thus providing an easy way to extract log data from disk images. The disk image should either contain
|
37
|
+
just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions
|
38
|
+
Specification. For further information on supported disk images, see systemd-nspawn(1)'s switch of the same name.
|
39
|
+
--image-policy=policy
|
40
|
+
Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on
|
41
|
+
the disk image specified via --image=, see above. If not specified defaults to the "*" policy, i.e. all recognized
|
42
|
+
file systems in the image are used.
|
43
|
+
--namespace=NAMESPACE
|
44
|
+
Takes a journal namespace identifier string as argument. If not specified the data collected by the default
|
45
|
+
namespace is shown. If specified shows the log data of the specified namespace instead. If the namespace is
|
46
|
+
specified as "*" data from all namespaces is shown, interleaved. If the namespace identifier is prefixed with "+"
|
47
|
+
data from the specified namespace and the default namespace is shown, interleaved, but no other. For details about
|
48
|
+
journal namespaces see systemd-journald.service(8).
|
42
49
|
|
43
50
|
Filtering Options
|
44
|
-
-S, --since=, -U, --until=
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
-
|
56
|
-
|
57
|
-
|
58
|
-
--cursor-file=FILE
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
--
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
-k, --dmesg :: Show only kernel messages. This implies -b and adds the match "_TRANSPORT=kernel".
|
51
|
+
-S, --since=, -U, --until=
|
52
|
+
Start showing entries on or newer than the specified date, or on or older than the specified date, respectively.
|
53
|
+
Date specifications should be of the format "2012-10-30 18:17:16". If the time part is omitted, "00:00:00" is
|
54
|
+
assumed. If only the seconds component is omitted, ":00" is assumed. If the date component is omitted, the current
|
55
|
+
day is assumed. Alternatively the strings "yesterday", "today", "tomorrow" are understood, which refer to 00:00:00
|
56
|
+
of the day before the current day, the current day, or the day after the current day, respectively. "now" refers to
|
57
|
+
the current time. Finally, relative times may be specified, prefixed with "-" or "+", referring to times before or
|
58
|
+
after the current time, respectively. For complete time and date specification, see systemd.time(7). Note that
|
59
|
+
--output=short-full prints timestamps that follow precisely this format.
|
60
|
+
-c, --cursor=
|
61
|
+
Start showing entries from the location in the journal specified by the passed cursor.
|
62
|
+
--after-cursor=
|
63
|
+
Start showing entries from the location in the journal after the location specified by the passed cursor. The cursor
|
64
|
+
is shown when the --show-cursor option is used.
|
65
|
+
--cursor-file=FILE
|
66
|
+
If FILE exists and contains a cursor, start showing entries after this location. Otherwise show entries according to
|
67
|
+
the other given options. At the end, write the cursor of the last entry to FILE. Use this option to continually read
|
68
|
+
the journal by sequentially calling journalctl.
|
69
|
+
-b [[ID][±offset]|all], --boot[=[ID][±offset]|all]
|
70
|
+
Show messages from a specific boot. This will add a match for "_BOOT_ID=". The argument may be empty, in which case
|
71
|
+
logs for the current boot will be shown. If the boot ID is omitted, a positive offset will look up the boots
|
72
|
+
starting from the beginning of the journal, and an equal-or-less-than zero offset will look up boots starting from
|
73
|
+
the end of the journal. Thus, 1 means the first boot found in the journal in chronological order, 2 the second and
|
74
|
+
so on; while -0 is the last boot, -1 the boot before last, and so on. An empty offset is equivalent to specifying
|
75
|
+
-0, except when the current boot is not the last boot (e.g. because --directory= was specified to look at logs from
|
76
|
+
a different machine). If the 32-character ID is specified, it may optionally be followed by offset which identifies
|
77
|
+
the boot relative to the one given by boot ID. Negative values mean earlier boots and positive values mean later
|
78
|
+
boots. If offset is not specified, a value of zero is assumed, and the logs for the boot given by ID are shown. The
|
79
|
+
special argument all can be used to negate the effect of an earlier use of -b.
|
80
|
+
-u, --unit=UNIT|PATTERN
|
81
|
+
Show messages for the specified systemd unit UNIT (such as a service unit), or for any of the units matched by
|
82
|
+
PATTERN. If a pattern is specified, a list of unit names found in the journal is compared with the specified pattern
|
83
|
+
and all that match are used. For each unit name, a match is added for messages from the unit ("_SYSTEMD_UNIT=UNIT"),
|
84
|
+
along with additional matches for messages from systemd and messages about coredumps for the specified unit. A match
|
85
|
+
is also added for "_SYSTEMD_SLICE=UNIT", such that if the provided UNIT is a systemd.slice(5) unit, all logs of
|
86
|
+
children of the slice will be shown. With --user, all --unit= arguments will be converted to match user messages as
|
87
|
+
if specified with --user-unit=. This parameter can be specified multiple times.
|
88
|
+
--user-unit=
|
89
|
+
Show messages for the specified user session unit. This will add a match for messages from the unit
|
90
|
+
("_SYSTEMD_USER_UNIT=" and "_UID=") and additional matches for messages from session systemd and messages about
|
91
|
+
coredumps for the specified unit. A match is also added for "_SYSTEMD_USER_SLICE=UNIT", such that if the provided
|
92
|
+
UNIT is a systemd.slice(5) unit, all logs of children of the unit will be shown. This parameter can be specified
|
93
|
+
multiple times.
|
94
|
+
-t, --identifier=SYSLOG_IDENTIFIER
|
95
|
+
Show messages for the specified syslog identifier SYSLOG_IDENTIFIER. This parameter can be specified multiple times.
|
96
|
+
-T, --exclude-identifier=SYSLOG_IDENTIFIER
|
97
|
+
Exclude messages for the specified syslog identifier SYSLOG_IDENTIFIER. This parameter can be specified multiple
|
98
|
+
times.
|
99
|
+
-p, --priority=
|
100
|
+
Filter output by message priorities or priority ranges. Takes either a single numeric or textual log level (i.e.
|
101
|
+
between 0/"emerg" and 7/"debug"), or a range of numeric/text log levels in the form FROM..TO. The log levels are the
|
102
|
+
usual syslog log levels as documented in syslog(3), i.e. "emerg" (0), "alert" (1), "crit" (2), "err" (3), "warning"
|
103
|
+
(4), "notice" (5), "info" (6), "debug" (7). If a single log level is specified, all messages with this log level or
|
104
|
+
a lower (hence more important) log level are shown. If a range is specified, all messages within the range are
|
105
|
+
shown, including both the start and the end value of the range. This will add "PRIORITY=" matches for the specified
|
106
|
+
priorities.
|
107
|
+
--facility=
|
108
|
+
Filter output by syslog facility. Takes a comma-separated list of numbers or facility names. The names are the usual
|
109
|
+
syslog facilities as documented in syslog(3). --facility=help may be used to display a list of known facility names
|
110
|
+
and exit.
|
111
|
+
-g, --grep=
|
112
|
+
Filter output to entries where the MESSAGE= field matches the specified regular expression. PERL-compatible regular
|
113
|
+
expressions are used, see pcre2pattern(3) for a detailed description of the syntax. If the pattern is all lowercase,
|
114
|
+
matching is case insensitive. Otherwise, matching is case sensitive. This can be overridden with the
|
115
|
+
--case-sensitive option, see below. When used with --lines= (not prefixed with "+"), --reverse is implied.
|
116
|
+
--case-sensitive[=BOOLEAN]
|
117
|
+
Make pattern matching case sensitive or case insensitive.
|
118
|
+
-k, --dmesg
|
119
|
+
Show only kernel messages. This implies -b and adds the match "_TRANSPORT=kernel".
|
114
120
|
|
115
121
|
Output Options
|
116
|
-
-o, --output=
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
122
|
+
-o, --output=
|
123
|
+
Controls the formatting of the journal entries that are shown. Takes one of the following options:
|
124
|
+
short
|
125
|
+
is the default and generates an output that is mostly identical to the formatting of classic syslog files,
|
126
|
+
showing one line per journal entry.
|
127
|
+
short-full
|
128
|
+
is very similar, but shows timestamps in the format the --since= and --until= options accept. Unlike the
|
129
|
+
timestamp information shown in short output mode this mode includes weekday, year and timezone information
|
130
|
+
in the output, and is locale-independent.
|
131
|
+
short-iso
|
132
|
+
is very similar, but shows timestamps in the RFC 3339 profile of ISO 8601.
|
133
|
+
short-iso-precise
|
134
|
+
as for short-iso but includes full microsecond precision.
|
135
|
+
short-precise
|
136
|
+
is very similar, but shows classic syslog timestamps with full microsecond precision.
|
137
|
+
short-monotonic
|
138
|
+
is very similar, but shows monotonic timestamps instead of wallclock timestamps.
|
139
|
+
short-delta
|
140
|
+
as for short-monotonic but includes the time difference to the previous entry. Maybe unreliable time
|
141
|
+
differences are marked by a "*".
|
142
|
+
short-unix
|
143
|
+
is very similar, but shows seconds passed since January 1st 1970 UTC instead of wallclock timestamps ("UNIX
|
144
|
+
time"). The time is shown with microsecond accuracy.
|
145
|
+
verbose
|
146
|
+
shows the full-structured entry items with all fields.
|
147
|
+
export
|
148
|
+
serializes the journal into a binary (but mostly text-based) stream suitable for backups and network
|
132
149
|
transfer (see Journal Export Format for more information). To import the binary stream back into native
|
133
150
|
journald format use systemd-journal-remote(8).
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
151
|
+
json
|
152
|
+
formats entries as JSON objects, separated by newline characters (see Journal JSON Format for more
|
153
|
+
information). Field values are generally encoded as JSON strings, with three exceptions: Fields larger than
|
154
|
+
4096 bytes are encoded as null values. (This may be turned off by passing --all, but be aware that this may
|
155
|
+
allocate overly long JSON objects.) Journal entries permit non-unique fields within the same log entry. JSON
|
156
|
+
does not allow non-unique fields within objects. Due to this, if a non-unique field is encountered a JSON
|
157
|
+
array is used as field value, listing all field values as elements. Fields containing non-printable or
|
158
|
+
non-UTF8 bytes are encoded as arrays containing the raw bytes individually formatted as unsigned numbers.
|
159
|
+
Note that this encoding is reversible (with the exception of the size limit).
|
160
|
+
json-pretty
|
161
|
+
formats entries as JSON data structures, but formats them in multiple lines in order to make them more
|
162
|
+
readable by humans.
|
163
|
+
json-sse
|
164
|
+
formats entries as JSON data structures, but wraps them in a format suitable for Server-Sent Events.
|
165
|
+
json-seq
|
166
|
+
formats entries as JSON data structures, but prefixes them with an ASCII Record Separator character (0x1E)
|
167
|
+
and suffixes them with an ASCII Line Feed character (0x0A), in accordance with JavaScript Object Notation
|
168
|
+
(JSON) Text Sequences ("application/json-seq").
|
169
|
+
cat
|
170
|
+
generates a very terse output, only showing the actual message of each journal entry with no metadata, not
|
171
|
+
even a timestamp. If combined with the --output-fields= option will output the listed fields for each log
|
172
|
+
record, instead of the message.
|
173
|
+
with-unit
|
174
|
+
similar to short-full, but prefixes the unit and user unit names instead of the traditional syslog
|
175
|
+
identifier. Useful when using templated instances, as it will include the arguments in the unit names.
|
176
|
+
--truncate-newline
|
177
|
+
Truncate each log message at the first newline character on output, so that only the first line of each message is
|
178
|
+
displayed.
|
179
|
+
--output-fields=
|
180
|
+
A comma separated list of the fields which should be included in the output. This has an effect only for the output
|
181
|
+
modes which would normally show all fields (verbose, export, json, json-pretty, json-sse and json-seq), as well as
|
182
|
+
on cat. For the former, the "__CURSOR", "__REALTIME_TIMESTAMP", "__MONOTONIC_TIMESTAMP", and "_BOOT_ID" fields are
|
183
|
+
always printed.
|
184
|
+
-n, --lines=
|
185
|
+
Show the most recent journal events and limit the number of events shown. The argument is a positive integer or
|
186
|
+
"all" to disable the limit. Additionally, if the number is prefixed with "+", the oldest journal events are used
|
187
|
+
instead. The default value is 10 if no argument is given. If --follow is used, this option is implied. When not
|
188
|
+
prefixed with "+" and used with --grep=, --reverse is implied.
|
189
|
+
-r, --reverse
|
190
|
+
Reverse output so that the newest entries are displayed first.
|
191
|
+
--show-cursor
|
192
|
+
The cursor is shown after the last entry after two dashes:
|
193
|
+
-- cursor: s=0639…
|
194
|
+
The format of the cursor is private and subject to change.
|
195
|
+
--utc
|
196
|
+
Express time in Coordinated Universal Time (UTC).
|
197
|
+
-x, --catalog
|
198
|
+
Augment log lines with explanation texts from the message catalog. This will add explanatory help texts to log
|
199
|
+
messages in the output where this is available. These short help texts will explain the context of an error or log
|
200
|
+
event, possible solutions, as well as pointers to support forums, developer documentation, and any other relevant
|
201
|
+
manuals. Note that help texts are not available for all messages, but only for selected ones. For more information
|
202
|
+
on the message catalog, see Journal Message Catalogs. Note: when attaching journalctl output to bug reports, please
|
203
|
+
do not use -x.
|
204
|
+
--no-hostname
|
205
|
+
Don't show the hostname field of log messages originating from the local host. This switch has an effect only on the
|
206
|
+
short family of output modes (see above). Note: this option does not remove occurrences of the hostname from log
|
207
|
+
entries themselves, so it does not prevent the hostname from being visible in the logs.
|
208
|
+
--no-full, --full, -l
|
209
|
+
Ellipsize fields when they do not fit in available columns. The default is to show full fields, allowing them to
|
210
|
+
wrap or be truncated by the pager, if one is used. The old options -l/--full are not useful anymore, except to undo
|
211
|
+
--no-full.
|
212
|
+
-a, --all
|
213
|
+
Show all fields in full, even if they include unprintable characters or are very long. By default, fields with
|
214
|
+
unprintable characters are abbreviated as "blob data". (Note that the pager may escape unprintable characters
|
215
|
+
again.)
|
216
|
+
-f, --follow
|
217
|
+
Show only the most recent journal entries, and continuously print new entries as they are appended to the journal.
|
218
|
+
--no-tail
|
219
|
+
Show all stored output lines, even in follow mode. Undoes the effect of --lines=.
|
220
|
+
-q, --quiet
|
221
|
+
Suppresses all informational messages (i.e. "-- Journal begins at …", "-- Reboot --"), any warning messages
|
222
|
+
regarding inaccessible system journals when run as a normal user.
|
188
223
|
|
189
224
|
Pager Control Options
|
190
|
-
--no-pager
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
225
|
+
--no-pager
|
226
|
+
Do not pipe output into a pager.
|
227
|
+
-e, --pager-end
|
228
|
+
Immediately jump to the end of the journal inside the implied pager tool. This implies -n1000 to guarantee that the
|
229
|
+
pager will not buffer logs of unbounded size. This may be overridden with an explicit -n with some other numeric
|
230
|
+
value, while -nall will disable this cap. Note that this option is only supported for the less(1) pager.
|
195
231
|
|
196
232
|
Forward Secure Sealing (FSS) Options
|
197
|
-
--interval=
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
--
|
233
|
+
--interval=
|
234
|
+
Specifies the change interval for the sealing key when generating an FSS key pair with --setup-keys. Shorter
|
235
|
+
intervals increase CPU consumption but shorten the time range of undetectable journal alterations. Defaults to
|
236
|
+
15min.
|
237
|
+
--verify-key=
|
238
|
+
Specifies the FSS verification key to use for the --verify operation.
|
239
|
+
--force
|
240
|
+
When --setup-keys is passed and Forward Secure Sealing (FSS) has already been configured, recreate FSS keys.
|
202
241
|
|
203
242
|
Commands
|
204
|
-
-N, --fields
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
243
|
+
-N, --fields
|
244
|
+
Print all field names currently used in all entries of the journal.
|
245
|
+
-F, --field=
|
246
|
+
Print all possible data values the specified field can take in all entries of the journal.
|
247
|
+
--list-boots
|
248
|
+
Show a tabular list of boot numbers (relative to the current boot), their IDs, and the timestamps of the first and
|
249
|
+
last message pertaining to the boot. When specified with -n/--lines=[+]N option, only the first (when the number
|
250
|
+
prefixed with "+") or the last (without prefix) N entries will be shown. When specified with -r/--reverse, the list
|
251
|
+
will be shown in the reverse order.
|
252
|
+
--disk-usage
|
253
|
+
Shows the current disk usage of all journal files. This shows the sum of the disk usage of all archived and active
|
254
|
+
journal files.
|
212
255
|
--vacuum-size=, --vacuum-time=, --vacuum-files=
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
--
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
--
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
--
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
--
|
256
|
+
--vacuum-size=
|
257
|
+
removes the oldest archived journal files until the disk space they use falls below the specified size. Accepts
|
258
|
+
the usual "K", "M", "G" and "T" suffixes (to the base of 1024).
|
259
|
+
--vacuum-time=
|
260
|
+
removes archived journal files older than the specified timespan. Accepts the usual "s" (default), "m", "h",
|
261
|
+
"days", "weeks", "months", and "years" suffixes, see systemd.time(7) for details.
|
262
|
+
--vacuum-files=
|
263
|
+
leaves only the specified number of separate journal files. Note that running --vacuum-size= has only an
|
264
|
+
indirect effect on the output shown by --disk-usage, as the latter includes active journal files, while the
|
265
|
+
vacuuming operation only operates on archived journal files. Similarly,
|
266
|
+
--vacuum-files= might not actually reduce the number of journal files to below the specified number, as it will not
|
267
|
+
remove active journal files.
|
268
|
+
--vacuum-size=, --vacuum-time= and --vacuum-files= may be combined in a single invocation to enforce any combination
|
269
|
+
of a size, a time and a number of files limit on the archived journal files. Specifying any of these three
|
270
|
+
parameters as zero is equivalent to not enforcing the specific limit, and is thus redundant.
|
271
|
+
These three switches may also be combined with --rotate into one command. If so, all active files are rotated first,
|
272
|
+
and the requested vacuuming operation is executed right after. The rotation has the effect that all currently active
|
273
|
+
files are archived (and potentially new, empty journal files opened as replacement), and hence the vacuuming
|
274
|
+
operation has the greatest effect as it can take all log data written so far into account.
|
275
|
+
--verify
|
276
|
+
Check the journal file for internal consistency. If the file has been generated with FSS enabled and the FSS
|
277
|
+
verification key has been specified with --verify-key=, authenticity of the journal file is verified.
|
278
|
+
--sync
|
279
|
+
Asks the journal daemon to write all yet unwritten journal data to the backing file system and synchronize all
|
280
|
+
journals. This call does not return until the synchronization operation is complete. This command guarantees that
|
281
|
+
any log messages written before its invocation are safely stored on disk at the time it returns.
|
282
|
+
--relinquish-var
|
283
|
+
Asks the journal daemon for the reverse operation to --flush: if requested the daemon will write further log data to
|
284
|
+
/run/log/journal/ and stops writing to /var/log/journal/. A subsequent call to --flush causes the log output to
|
285
|
+
switch back to /var/log/journal/, see above.
|
286
|
+
--smart-relinquish-var
|
287
|
+
Similar to --relinquish-var, but executes no operation if the root file system and /var/log/journal/ reside on the
|
288
|
+
same mount point. This operation is used during system shutdown in order to make the journal daemon stop writing
|
289
|
+
data to /var/log/journal/ in case that directory is located on a mount point that needs to be unmounted.
|
290
|
+
--flush
|
291
|
+
Asks the journal daemon to flush any log data stored in /run/log/journal/ into /var/log/journal/, if persistent
|
292
|
+
storage is enabled. This call does not return until the operation is complete. Note that this call is idempotent:
|
293
|
+
the data is only flushed from /run/log/journal/ into /var/log/journal/ once during system runtime (but see
|
294
|
+
--relinquish-var below), and this command exits cleanly without executing any operation if this has already
|
295
|
+
happened. This command effectively guarantees that all data is flushed to /var/log/journal/ at the time it returns.
|
296
|
+
--rotate
|
297
|
+
Asks the journal daemon to rotate journal files. This call does not return until the rotation operation is complete.
|
298
|
+
Journal file rotation has the effect that all currently active journal files are marked as archived and renamed, so
|
299
|
+
that they are never written to in future. New (empty) journal files are then created in their place. This operation
|
300
|
+
may be combined with --vacuum-size=, --vacuum-time= and --vacuum-file= into a single command, see above.
|
301
|
+
--header
|
302
|
+
Instead of showing journal contents, show internal header information of the journal fields accessed. This option is
|
303
|
+
particularly useful when trying to identify out-of-order journal entries, as happens for example when the machine is
|
304
|
+
booted with the wrong system time.
|
305
|
+
--list-catalog [128-bit-ID…]
|
306
|
+
List the contents of the message catalog as a table of message IDs, plus their short description strings. If any
|
307
|
+
128-bit-IDs are specified, only those entries are shown.
|
308
|
+
--dump-catalog [128-bit-ID…]
|
309
|
+
Show the contents of the message catalog, with entries separated by a line consisting of two dashes and the ID (the
|
310
|
+
format is the same as .catalog files). If any 128-bit-IDs are specified, only those entries are shown.
|
311
|
+
--update-catalog
|
312
|
+
Update the message catalog index. This command needs to be executed each time new catalog files are installed,
|
313
|
+
removed, or updated to rebuild the binary catalog index.
|
314
|
+
--setup-keys
|
315
|
+
Instead of showing journal contents, generate a new key pair for Forward Secure Sealing (FSS). This will generate a
|
316
|
+
sealing key and a verification key. The sealing key is stored in the journal data directory and shall remain on the
|
317
|
+
host. The verification key should be stored externally. Refer to the Seal= option in journald.conf(5) for
|
318
|
+
information on Forward Secure Sealing and for a link to a refereed scholarly paper detailing the cryptographic
|
319
|
+
theory it is based on.
|
320
|
+
-h, --help
|
321
|
+
Print a short help text and exit.
|
322
|
+
--version
|
323
|
+
Print a short version string and exit.
|
269
324
|
|
270
325
|
Environment
|
271
|
-
$SYSTEMD_LOG_LEVEL
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
$SYSTEMD_LOG_COLOR
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
$
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
$
|
337
|
-
|
338
|
-
|
326
|
+
$SYSTEMD_LOG_LEVEL
|
327
|
+
The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be
|
328
|
+
suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing
|
329
|
+
importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for
|
330
|
+
more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a
|
331
|
+
colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies
|
332
|
+
to log at debug level except when logging to the console which should be at info level). Note that the global
|
333
|
+
maximum log level takes priority over any per target maximum log levels.
|
334
|
+
$SYSTEMD_LOG_COLOR
|
335
|
+
A boolean. If true, messages written to the tty will be colored according to priority. This setting is only useful
|
336
|
+
when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will
|
337
|
+
color messages based on the log level on their own.
|
338
|
+
$SYSTEMD_LOG_TIME
|
339
|
+
A boolean. If true, console log messages will be prefixed with a timestamp. This setting is only useful when
|
340
|
+
messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs
|
341
|
+
will attach timestamps based on the entry metadata on their own.
|
342
|
+
$SYSTEMD_LOG_LOCATION
|
343
|
+
A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message
|
344
|
+
originates. Note that the log location is often attached as metadata to journal entries anyway. Including it
|
345
|
+
directly in the message text can nevertheless be convenient when debugging programs.
|
346
|
+
$SYSTEMD_LOG_TID
|
347
|
+
A boolean. If true, messages will be prefixed with the current numerical thread ID (TID). Note that the this
|
348
|
+
information is attached as metadata to journal entries anyway. Including it directly in the message text can
|
349
|
+
nevertheless be convenient when debugging programs.
|
350
|
+
$SYSTEMD_LOG_TARGET
|
351
|
+
The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached
|
352
|
+
tty but with prefixes encoding the log level and "facility", see syslog(3), kmsg (log to the kernel circular log
|
353
|
+
buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise),
|
354
|
+
auto (determine the appropriate log target automatically, the default), null (disable log output).
|
355
|
+
$SYSTEMD_LOG_RATELIMIT_KMSG
|
356
|
+
Whether to ratelimit kmsg or not. Takes a boolean. Defaults to "true". If disabled, systemd will not ratelimit
|
357
|
+
messages written to kmsg.
|
358
|
+
$SYSTEMD_PAGER
|
359
|
+
Pager to use when --no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of
|
360
|
+
well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager
|
361
|
+
implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value
|
362
|
+
"cat" is equivalent to passing --no-pager. Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as
|
363
|
+
$PAGER) will be silently ignored.
|
364
|
+
$SYSTEMD_LESS
|
365
|
+
Override the options passed to less (by default "FRSXMK"). Users might want to change two options in particular:
|
366
|
+
K
|
367
|
+
This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C
|
368
|
+
itself to switch back to the pager command prompt, unset this option. If the value of $SYSTEMD_LESS does not
|
369
|
+
include "K", and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to
|
370
|
+
be handled by the pager.
|
371
|
+
X
|
372
|
+
This option instructs the pager to not send termcap initialization and deinitialization strings to the
|
373
|
+
terminal. It is set by default to allow command output to remain visible in the terminal even after the
|
374
|
+
pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output
|
375
|
+
cannot be scrolled with the mouse. Note that setting the regular $LESS environment variable has no effect
|
376
|
+
for less invocations by systemd tools.
|
377
|
+
$SYSTEMD_LESSCHARSET
|
378
|
+
Override the charset passed to less (by default "utf-8", if the invoking terminal is determined to be UTF-8
|
379
|
+
compatible). Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by
|
380
|
+
systemd tools.
|
381
|
+
$SYSTEMD_PAGERSECURE
|
382
|
+
Takes a boolean argument. When true, the "secure" mode of the pager is enabled; if false, disabled. If
|
383
|
+
$SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of
|
384
|
+
the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when
|
385
|
+
invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses.
|
386
|
+
When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used.
|
387
|
+
(Currently only less(1) implements secure mode.) Note: when commands are invoked with elevated privileges, for
|
388
|
+
example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not
|
389
|
+
enabled. "Secure" mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0
|
390
|
+
or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the
|
391
|
+
$SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable
|
392
|
+
to completely disable the pager using --no-pager instead.
|
393
|
+
$SYSTEMD_COLORS
|
394
|
+
Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the
|
395
|
+
output will be monochrome. Additionally, the variable can take one of the following special values: "16", "256" to
|
396
|
+
restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the
|
397
|
+
automatic decision based on $TERM and what the console is connected to.
|
398
|
+
$SYSTEMD_URLIFY
|
399
|
+
The value must be a boolean. Controls whether clickable links should be generated in the output for terminal
|
400
|
+
emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and
|
401
|
+
other conditions.
|
339
402
|
"""
|
340
403
|
import fcntl
|
341
404
|
import os.path
|