Как сделать / var / log постоянно перезагружать на встроенное устройство Linux

С GNU sed :

sed 's/\f/\n/g' file

Другое sed s:

sed "$(printf 's/\f/\\\n/g')" file

Или с помощью tr :

tr '\f' '\n' <file

С perl :

perl -pi -e 's/\f/\n/g' file

-i предназначен для перезаписи файла на месте. Для редактирования на месте с помощью tr :

tr '\f' '\n' < file 1<> file
0
24.10.2018, 18:13
2 ответа

На самом деле не отвечаю на вопрос. но предлагая альтернативу... добавьте правило в системный журнал для пересылки всех сообщений на сервер, например.

*.*    @server.host.name

Если вы сделаете это,вам не нужно сохранять/var/log(по моему опыту, вы всегда будете заполнять свое постоянное хранилище, если у вас есть /var/logна нем).

Обратите внимание, что вам потребуется включить сетевой модуль в системном журнале на вашем сервере. -Как это сделать, зависит от того, какое программное обеспечение системного журнала вы используете. Вам также может понадобиться иметь дело с брандмауэрами (, обычно это порт UDP 514 ).

Также обратите внимание, что вам может потребоваться использовать IP-адрес вместо server.host.name, если ваш преобразователь DNS недоступен при запуске демона системного журнала.

Одним из (я считаю большим )преимуществом этого является то, что все ваши встроенные устройства могут вести журналы на одном сервере, а затем все журналы доступны в одном месте, -вы должны использовать правила сопоставления в программное обеспечение системного журнала вашего сервера для хранения сообщений с каждого устройства в отдельные файлы, названные в честь исходного устройства (иногда это может быть сложно настроить, но оно того стоит ).

1
28.01.2020, 04:11

Самый простой способ — сделать /var/log символической ссылкой на /safepath/log или что-то подобное.

2
28.01.2020, 04:11

Теги

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