Как отсортировать логи (Как отсортировать логи)
Модератор: Модераторы разделов
-
- Сообщения: 4
- ОС: Linux
Как отсортировать логи
Приветствую Всех!!!
Подскажите пожалуйста есть два файла лога которые нужно отсортировать. Например нужно старые записи дат в логе вывести в другой файл и сжать в .gz и их же почистить оставить только с новыми датами.
Подскажите пожалуйста есть два файла лога которые нужно отсортировать. Например нужно старые записи дат в логе вывести в другой файл и сжать в .gz и их же почистить оставить только с новыми датами.
Последний раз редактировалось artcom7771390 12.05.2020 22:16, всего редактировалось 1 раз.
-
- Сообщения: 70
- ОС: Fedora
-
- Сообщения: 4
- ОС: Linux
Re: Как отсортировать логи
Это я в курсе
Хард имеет ограниченный объём. При выполнения logrotate нехватка места пишет.
Хард имеет ограниченный объём. При выполнения logrotate нехватка места пишет.
-
- Модератор
- Сообщения: 20918
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как отсортировать логи
Так добавьте места или удалите ненужные файлы. Причём тут «сортировка» логов?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 4
- ОС: Linux
Re: Как отсортировать логи
Нет возможности добавить места и файл лога нужен. Задача стоит не удалять логи они нужны, а старые записи подтереть в них... есть возможность или нет? Например с помощью sed команды или другой?Bizdelnick писал: ↑12.05.2020 23:26Так добавьте места или удалите ненужные файлы. Причём тут «сортировка» логов?
-
- Сообщения: 1139
- ОС: Fedora
Re: Как отсортировать логи
На том же месте? Это вряд ли.
-
- Сообщения: 70
- ОС: Fedora
Re: Как отсортировать логи
Если просто подрезать текущий лог, при превышении размера в 1Мб то:
#/etc/logrotate.d/xxx
ЗЫЖ в работе не проверял...
#/etc/logrotate.d/xxx
Код: Выделить всё
/var/log/xxx.log {
rotate 0
size 1M
missingok
notifempty
}
-
- Сообщения: 4
- ОС: Linux
Re: Как отсортировать логи
В чем прикол сказали определенно сделать типа так:yurkats писал: ↑13.05.2020 00:44Если просто подрезать текущий лог, при превышении размера в 1Мб то:
#/etc/logrotate.d/xxxЗЫЖ в работе не проверял...Код: Выделить всё
/var/log/xxx.log { rotate 0 size 1M missingok notifempty }
/etc/logrotate.d/xxx.log {
copytruncate
weekly
rotate 13
compress
delaycompress
notifempty
missingok
create 644 root root
}
После этого logrotate не выполняется пишет мало места, но и места нету возможности добавить на вм.
Файл логов получился объемный, и нужно удалить старые даты с лога предварительно сохранив через grep в отдельный файл и сжать его в .gz
Старые даты я слил в отдельный файл через grep -v 'даты' /home/xx/xxx/xxxx.log | gzip > home/xx/xxx/xxxx.log.gz
А теперь Нужно их сличить чтобы удостовериться что все старые даты слились и не потерялись. Это сделать через diff если файл весовый? И как почистить старые даты в исходном логе через sed ?
Заранее Спасибо за ответ!
-
- Сообщения: 3684
- ОС: calculate linux, debian, ubuntu
Re: Как отсортировать логи
Я сталкивался с подобной проблемой.
Я переименовывал файл логов, то есть система тут же создаёт новый файл и пишет в него.
Переименованный файл скачивал с вм на свой комп.
Лично я на домашнем компе и оставлял, не хранил на сервере, но в вашем случае вам надо его сжать и выгрузить обратно.
Я переименовывал файл логов, то есть система тут же создаёт новый файл и пишет в него.
Переименованный файл скачивал с вм на свой комп.
Лично я на домашнем компе и оставлял, не хранил на сервере, но в вашем случае вам надо его сжать и выгрузить обратно.
-
- Модератор
- Сообщения: 20918
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как отсортировать логи
Нет. В любом случае должен будет создаться новый файл, если для этого недостаточно места — извиняйте. Если место есть, но мало, то да, можно sed'ом: sed -i '1,1000d' file.log (удалит строки с 1 по 1000). Но, обратите внимание, я исхожу из того, что программа, пишущая лог, не держит файл открытым (если это не так, то приведённый Вами пример logrotate некорректен).artcom7771390 писал: ↑12.05.2020 23:41Задача стоит не удалять логи они нужны, а старые записи подтереть в них... есть возможность или нет? Например с помощью sed команды или другой?
Ну попробуйте уменьшить rotate, убрать delaycompress, вместо weekly прописать size <размер>. Подробности в man logrotate.conf.artcom7771390 писал: ↑13.05.2020 01:25В чем прикол сказали определенно сделать типа так:Код: Выделить всё
/etc/logrotate.d/xxx.log { copytruncate weekly rotate 13 compress delaycompress notifempty missingok create 644 root root }
Общий смысл в том, что больше, чем доступно места, Вы в любом случае не сохраните. Либо надо жертвовать частью логов, либо добавлять диск.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 70
- ОС: Fedora
Re: Как отсортировать логи
Короче, попробовал на своей машине, "rotate 0" не катит он просто удаляет в 0 содержимое лога, т.е. когда возникает условие, по ротации лога, он не создает второй файл с существующим логом, а просто начинает новый лог с начала вести, а что было ранее удаляет.
-
- Модератор
- Сообщения: 20918
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Как отсортировать логи
А Вы чего-то другого ожидали?
rotate count
Log files are rotated count times before being removed or mailed to the address specified in a mail directive. If count is 0, old versions are removed rather than rotated. Default is 0.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 962
- ОС: BSD/LINUX
Re: Как отсортировать логи
Код: Выделить всё
weekly
rotate 13
Если нет места, то логичнее было-бы сократить количество файлов лога.
А так же, у вас раз в неделю происходит ротация лог, сделайте раз в сутки и я думаю этого будет достаточно.
Либо вовсе перенести на другой диск логи!
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Знание сила, незнание Рабочая сила!
-
- Сообщения: 1139
- ОС: Fedora
Re: Как отсортировать логи
Кстати, судя по разделу, у вас Fedora или подобное. Там же логи хранит journald в своей базе данных, и дисциплина хранения там подходящая. А файлы оставлены только для совместимости.
-
- Сообщения: 5
- ОС: Centos 7
Re: Как отсортировать логи
вот небольшая инструкция
http://manpages.ylsoftware.com/ru/logrotate.8.html
https://mnorin.com/logrotate-nastrojka-rotatsii-logov.html
http://manpages.ylsoftware.com/ru/logrotate.8.html
https://mnorin.com/logrotate-nastrojka-rotatsii-logov.html
Shell
# yum install logrotate
# vi /etc/logrotate.conf # Заходим суда
Код: Выделить всё
include /etc/logrotate.d # Добавляем строчку если нет
Shell
# cd /etc/logrotate.d/ # Переходим суда
# touch vsftpd # Создаём файл
Код: Выделить всё
/var/log/имя файла{
rotate 5
size 10m
compress
create
dateext
dateformat -%Y-%m-%d_%H
olddir /var/log/old-log
}
Последний раз редактировалось /dev/random 10.06.2020 19:32, всего редактировалось 1 раз.
Причина: форматирование
Причина: форматирование