mirror of
https://github.com/systemd/systemd.git
synced 2025-02-03 17:47:28 +03:00
1c5d54b2df
In general, it's better to avoid a negation. And "!" is special, because it is used for history expansion, i.e. the same command would behave differently if pasted on the command line. Inspired by 4a899c5a239eb50df3f596af4ff145f4a2d33f23.
39 lines
1.6 KiB
Bash
Executable File
39 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
set -eux
|
|
set -o pipefail
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2183546
|
|
mkdir /run/systemd/system/systemd-journald.service.d
|
|
MACHINE_ID="$(</etc/machine-id)"
|
|
|
|
for c in NONE XZ LZ4 ZSTD; do
|
|
cat >/run/systemd/system/systemd-journald.service.d/compress.conf <<EOF
|
|
[Service]
|
|
Environment=SYSTEMD_JOURNAL_COMPRESS=${c}
|
|
EOF
|
|
systemctl daemon-reload
|
|
systemctl restart systemd-journald.service
|
|
journalctl --rotate
|
|
|
|
ID="$(systemd-id128 new)"
|
|
systemd-cat -t "$ID" /bin/bash -c "for ((i=0;i<100;i++)); do echo -n hoge with ${c}; done; echo"
|
|
journalctl --sync
|
|
timeout 10 bash -c "until SYSTEMD_LOG_LEVEL=debug journalctl --verify --quiet --file /var/log/journal/$MACHINE_ID/system.journal 2>&1 | grep -q -F 'compress=${c}'; do sleep .5; done"
|
|
|
|
# $SYSTEMD_JOURNAL_COMPRESS= also works for journal-remote
|
|
if [[ -x /usr/lib/systemd/systemd-journal-remote ]]; then
|
|
for cc in NONE XZ LZ4 ZSTD; do
|
|
rm -f /tmp/foo.journal
|
|
SYSTEMD_JOURNAL_COMPRESS="${cc}" /usr/lib/systemd/systemd-journal-remote --split-mode=none -o /tmp/foo.journal --getter="journalctl -b -o export -t $ID"
|
|
SYSTEMD_LOG_LEVEL=debug journalctl --verify --quiet --file /tmp/foo.journal 2>&1 | grep -q -F "compress=${cc}"
|
|
journalctl -t "$ID" -o cat --file /tmp/foo.journal | grep -q -F "hoge with ${c}"
|
|
done
|
|
fi
|
|
done
|
|
|
|
rm /run/systemd/system/systemd-journald.service.d/compress.conf
|
|
systemctl daemon-reload
|
|
systemctl restart systemd-journald.service
|
|
journalctl --rotate
|