подскажите как аккуратно обрезать лог

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
guest
проходил мимо

подскажите как аккуратно обрезать лог

Непрочитанное сообщение guest » 2018-04-27 13:52:19

думаю обрезать чтобы осталась концовка файла метров в 100 и включить ротацию
Важное: никогда не удаляйте и не обрезайте ОТКРЫТЫЙ файл каким-либо приложением!
посмотрите какой сигнал использует application для reopen log files или остановите
приложение.
После этого на выбор: tail, truncate, split, sed ...

Если с местом проблема, лучший вариант - sed - удалить из файла N строк по номерам, кол-во строк покажет wc.

До операции: df и после операции, можно выполнить sync && sync - почистить кеш записи на диски и снова df
- оценить результат

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

подскажите как аккуратно обрезать лог

Непрочитанное сообщение skeletor » 2018-04-27 16:37:50

берём последние 2000 строк и перенаправляем в новый файл. исходный файл просто затираем.

Код: Выделить всё

tail -2000 big.log > small.log
echo > big.log
Почему нельзя обрезать открытый ТЕКСТОВЫЙ файл - мне не понятно. guest, объясни. Для самого приложения ничего не меняется - ни файл, ни открытый дескриптор, поэтому он как писал в него, так и будет писать. Я таким хаком пользуюсь уже давно и работает для тех приложений, которые нельзя ребутать и они не понимают SIGHUP при ротации логов. Например, java. И всё отлично работает.

guest
проходил мимо

подскажите как аккуратно обрезать лог

Непрочитанное сообщение guest » 2018-04-27 17:51:24

Почему нельзя обрезать открытый ТЕКСТОВЫЙ файл - мне не понятно. guest, объясни.
sorry, обрезать можно, удалять нельзя, но обрезать нужно грамотно, чтобы sparse (разреженности)
не получилось.
берём последние 2000 строк и перенаправляем в новый файл. исходный файл просто затираем.
если место позволяет, не вопрос.