🐧 Linux: Правильная очистка логов (без перезагрузки)
Многие новички удаляют раздутый лог командой
Результат: Место на диске не освобождается.
Причина: Процесс (Nginx) продолжает писать в удаленный дескриптор файла. Помогает только рестарт сервиса.
Решение Архитектора (truncate): Обнуляем содержимое файла, сохраняя сам файл и его дескриптор. Сервис продолжает писать в него с нуля, рестарт не нужен.
Команда:
Скрипт для Cron (обнулять все логи старше 7 дней, если logrotate не настроен):
#linux #logs #truncate #maintenance #bash
Многие новички удаляют раздутый лог командой
rm /var/log/nginx/access.log .Результат: Место на диске не освобождается.
Причина: Процесс (Nginx) продолжает писать в удаленный дескриптор файла. Помогает только рестарт сервиса.
Решение Архитектора (truncate): Обнуляем содержимое файла, сохраняя сам файл и его дескриптор. Сервис продолжает писать в него с нуля, рестарт не нужен.
Команда:
# Обнулить конкретный файл
truncate -s 0 /var/log/nginx/access.log
# Или через редирект (работает в большинстве шеллов)
> /var/log/nginx/access.log
Скрипт для Cron (обнулять все логи старше 7 дней, если logrotate не настроен):
find /var/log/myapp -name "*.log" -type f -mtime +7 -exec truncate -s 0 {} \;
#linux #logs #truncate #maintenance #bash
🔥2👍1