Очистка логов squid`а Печать

Остановим squid

root@# service squid stop

Скопируем файл access лога squid`а, в удобное нам место

root@#cp /work/access.log /temp/access.log

Почистим рабочий лог

root@# echo>/work/access.log

Запускаем squid

root@# service squid start

Посчитаем число строк

root@# wc -l /temp/access.log
 116523725 access.log

Дальше как удобно, либо просто, удаляем половину строк начиная с первой

root@#sed -i '' '1,58261862d' ./access.log

Или к примеру надо почистить до какой-то даты, то действуем так:

  1. Вычисляем юникод нашей даты, делать можно это различными способами, но проще воспользоваться готовым калькулятором, к примеру этим. https://www.unixtimestamp.com/index.php Дата 01/01/2019 @ 12:00am (UTC) будет 1546300800.
  2. Открываем наш файл любым редактором показывающим номер строк к примеру mcedit.
  3. Находим 1546300800 и копируем номер строки выше .
  4. Удаляем строки начиная с первой до той что скопировали.
root@#sed -i '' '1,58261d' ./access.log

Опять остановим squid

root@# service squid stop

Объеденим то что насобиралось с тем что осталось

root@#cat /work/access.log >> /temp/access.log
Обновлено 05.06.2019 11:06