Как очистить journalctl

Необходимо удостовериться, что маршрут по умолчанию установлен пойти через wlan0. Вы, вероятно, также хотите установить явный маршрут для Машины B через eth0.

Если Вы будете удобными файлами конфигурации редактирования вручную, то Вы найдете файлы, в которых Вы нуждаетесь/etc/sysconfig/network-scripts. Файлы, о которых Вы заботитесь, называют ifcfg-eth0 и ifcfg-wlan0. Необходимо удостовериться, что ifcfg-wlan0 содержит Настройку шлюза как

GATEWAY=xxx.xxx.xxx.xxx

замена xxx.xxx.xxx.xxx с адресом восходящего маршрутизатора. Необходимо удалить любую такую строку из ifcfg-eth0. Сделанный, можно зафиксировать проблему маршрутизации путем перевода в нерабочее состояние обоих интерфейсов и затем возвращения их снова, или путем перезапуска сетей, которые можно сделать путем выполнения

service network restart

Как я сказал, я также думаю, что необходимо добавить маршрут, который удостоверяется, что трафик к Машине B идет через eth0. Один способ сделать это должно создать файл/etc/sysconfig/network-scripts/route-eth0 и сделать его исполняемым файлом, потому что он будет выполнен, каждый раз eth0 поднят или вниз. Это должно иметь строку как

xxx.xxx.xxx.xxx via eth0

замена xxx.xxx.xxx.xxx с IP-адресом Машины B.

Этот маршрут вступит в силу после того, как Вы снизите eth0 и или перезапустите сети.

Если Вы не будете удобны в командной строке, то необходимо будет найти инструменты конфигурации Red Hat, которые позволяют Вам сделать то же самое.

239
23.09.2017, 23:13
13 ответов

Метод самообслуживания заключается в вакуумировании журналов по размеру или времени.

Сохранить только последние два дня:

journalctl --vacuum-time=2d

Сохранить только последние 500 МБ:

journalctl --vacuum-size=500M

man journalctl для получения дополнительной информации.

329
27.01.2020, 19:27

Обычно вы сами не очищаете журнал. Это управляется самим systemd, а старые журналы выворачиваются по мере поступления новых данных. Правильным было бы запланировать ведение журнала так, чтобы в нем хранилось только столько данных, сколько вас интересует. Самое обычное, что можно настроить - это общее дисковое пространство, которое он может занять. Как только он пересекает эту границу, он начинает подставлять старые записи, чтобы они оставались рядом с этим значением.

Вы можете установить это в /etc/systemd/journald.conf так:

SystemMaxUse=100M
95
27.01.2020, 19:27

на Arch Linux, ближайший у меня был:

  • Редактировать /etc/systemd/journald.conf, чтобы установить SystemMaxUse = 1M
  • RESTATHING JULTER: Sudo SystemCtl Restart SystemD-журнал
  • Сброс SystemMaxuse = 200M
  • Перезапустить журнал

В моем системе каждый файл журнала составляет 8 МБ, а вышеупомянутый очищенный Все, кроме 3, приносящий общий размер до ~ 25 МБ.

Мой использование - это отключение коровы для BTRFS (только для каталога журнала и подкаталоги): Sudo Chattr + C / var / log / Journal / * . Проблема в том, что атрибут устанавливается только в новых созданных файлах, поэтому желание промыть журнал.

19
27.01.2020, 19:27

Это работает для меня, используя параметры Mint 17:

gsettings set org.gnome.libgnomekbd.keyboard «['caps\tcaps: none']»

-121--196501-

Вы правы: отсутствует процесс, связанный с системным учетом, это внутренняя функция ядра, которая непосредственно записывается в файл системного учета, который на многих Unix - /var/account/acct . Системный вызов для получения статуса этой внутренней функции ядра отсутствует.

Верным способом проверки включения системного учета является использование стандартной команды Unix lastcomm дважды. Первый процесс будет зарегистрирован в системном файле учета, второй подтвердит, что последним завершенным и зарегистрированным процессом является lastcomm .

На сильно загруженном сервере, и особенно в многопроцессорных системах, 2-й lastcomm может отображать некоторые другие завершенные процессы перед отображением 1-го lastcomm . Это нормально.

Вот моя лучшая функция оболочки, чтобы получить статус учета быть на:

is_acct_on() {
    t=`mktemp /tmp/acct.XXXX`
    touch ${t}
    sleep 1
    x=`find /var/account -newercc ${t} -name "acct" | head -1`
    rm ${t}
    [ -z "${x}" ]
}

использование:

is_acct_on

возврат 0 , если учет выключен

1 , если учет включен.

-121--86467-

journalctl -b будет отображаться только при последней загрузке. Также можно использовать -b -1 , -b -2 и т.д. Ваш ужасный день все еще там, но вам не придется его видеть, если вам не нужно.

2
27.01.2020, 19:27

Метод очень грубой силы для очистки всего бревна:

$ sudo journalctl --vacuum-time=1seconds

Вы также можете использовать --размер пылесоса как ментойд Майкла.

11
27.01.2020, 19:27

Так как - время вакуума и - размер вакуума ничего мне не дало Я сделал следующее:

$ sudo find /var/log/journal -name "*.journal" | xargs sudo rm 
$ sudo systemctl restart systemd-journald

Неправильно, но сработало.

14
27.01.2020, 19:27

И --поворот, и --вакуум -время=1 с не работали у меня в CentOS. Я смог очистить его вот так:

sudo rm -rf /run/log/journal/*
10
27.01.2020, 19:27
  1. Сделайте резервную копию на случай, если она понадобится в будущем:

    cp /run/log/journal/<temp-string>/system.journal /mylog/dir/back/system.journal.bak
    
  2. Очистить файл:

    cd /run/log/journal/<temp-string>/
    >system.journal
    
  3. Отметьте для просмотра последних журналов:

    journalctl -xe
    
1
27.01.2020, 19:27

В ответе Майкла отсутствует одна вещь :очистка удаляет только архивные файлы журналов, а не активные. Чтобы избавиться от всего, вам нужно сначала повернуть файлы, чтобы последние записи были перемещены в неактивные файлы.

Таким образом, полный ответ на удаление всех записей выглядит так:

sudo journalctl --rotate
sudo journalctl --vacuum-time=1s

(Обратите внимание, что вы не можете объединить это в одну команду journalctl.)

Кстати, в некоторых дистрибутивах journald настроен так, что он записывает логи на диск (/var/log/journal), а другие хранят логи в памяти(/run/log/journal).Я ожидаю, что в некоторых случаях может быть необходимо сначала использовать sudo journalctl --flush, чтобы удалить все.

Если в вашей версии нет --rotate, вы можете использовать аргумент --sinceдля фильтрации записей:

--since "2019-01-30 14:00:00"
--since today
141
27.01.2020, 19:27

Мой предыдущий ответ был удален как «дублированный». Что ж, извините за недостаточно ясность в моем предыдущем ответе, но он отличался от существующих ответов. Итак, вот более проработанная версия:

journalctl -m --vacuum-time=1sпомог мне. Пожалуйста, обратите внимание на флаг -m, он объединяет все ваши журналы, а затем очищает их. Без флага -mон ничего не очистил в моем случае (на CentOS -7 ).

Надеюсь, это поможет.

8
27.01.2020, 19:27

Также sudo journalctl --vacuum-files 1.

2
27.01.2020, 19:27

Создайте этот файл (и, возможно, его родительский каталог ):/etc/systemd/journald.conf.d/max-size.conf

С содержимым:

[Journal]
SystemMaxUse=100M

Место будет освобождено после перезагрузки или запускаsudo systemctl restart systemd-journald

Благодаря этому ваш журнал будет оставаться маленьким отныне и навсегда. Так как конфигурация хранится в специальном файле, нет проблем с редактированием, и ее легко удалить позже (или посмотреть, что именно вы изменили в прошлом ). Вы также можете указать максимальное время записи журнала с помощью :MaxRetentionSec=3day

.
1
01.02.2021, 06:58

Я столкнулся с той же ситуацией, что и вы. После некоторых поисков я понимаю

  1. Невозможно очистить журналы для конкретной службы без стороннего скрипта.
  2. journalctl --vacuum-time 1sможет очищать только архивные журналы. Таким образом, вы можете обнаружить, что раздражающие журналы все еще существуют после этой команды.
  3. Вы можете обойти это, сначала journalctl --rotate. Эта команда архивирует журналы немедленно, так что «--вакуум -время 1 с» вступит в силу.
  4. На самом деле после 'journalctl --rotate' эти надоедливые журналы должны были исчезнуть. Таким образом, окончательный ответ должен бытьjournalctl --rotate.

П.С. Вот соответствующие части справки journalctl

  -N --fields                List all field names currently used
  -F --field=FIELD           List all values that a specified field takes
     --disk-usage            Show total disk usage of all journal files
     --vacuum-size=BYTES     Reduce disk usage below specified size
     --vacuum-files=INT      Leave only the specified number of journal files
     --vacuum-time=TIME      Remove journal files older than specified time
     --verify                Verify journal file consistency
     --sync                  Synchronize unwritten journal messages to disk
     --relinquish-var        Stop logging to disk, log to temporary file system
     --smart-relinquish-var  Similar, but NOP if log directory is on root mount
     --flush                 Flush all journal data from /run into /var
     --rotate                Request immediate rotation of the journal files
     --header                Show journal header information
     --list-catalog          Show all message IDs in the catalog
     --dump-catalog          Show entries in the message catalog
     --update-catalog        Update the message catalog database
     --setup-keys            Generate a new FSS key pair
2
04.05.2021, 11:00

Теги

Похожие вопросы