opened image

Очищення старих логів та тимчасових файлів на Linux серверах

ZOMRO / форма зв'язку

Потрібна допомога системного адміністратора?

Опишіть ситуацію, і ми зв'яжемося з вами протягом 15 хвилин.

Написати в телеграм

Очищення старих логів.

 

Для підтримання чистоти та оптимальної роботи системи необхідно періодично очищати старі логи. Нижче наведені дії, які можуть бути вжиті для цієї мети.

 

1. Очищення системних логів:


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

find /var/log \( -name "*.[0-9]" -o -name "*.*.[0-9]" -o -name "*.gz" \) -exec rm {} \;
find /var/log/ -type f -name "*log" -exec cp /dev/null {} \;

 

Якщо на Вашому сервері щодня накопичується безліч логів, і недостатньо вільного місця на диску, можна виконувати щоденне очищення застарілих архівів логів. Для цього можна додати наступну команду в кронтаб:

0 0 * * * find /var/log \( -name "*.[0-9]" -o -name "*.*.[0-9]" -o -name "*.gz" \) -exec rm {} \; && find /var/log/ -type f -name "*log" -exec cp /dev/null {} \;

 

2. Очищення кешу репозиторію:


Рекомендується використовувати спеціальні команди для очищення кешу локального репозиторію від отриманих файлів пакета, замість ручного видалення кешу в директорії /var/cache/. Ось деякі з них:

Для систем CentOS/RedHat на основі yum:

yum clean all

Для Ubuntu/Debian систем на основі apt-get:
 

apt-get clean

 

3. Видалення тимчасових файлів:

​​​​​​​
При видаленні тимчасових файлів за допомогою наступних команд, слід бути обережним, щоб не видалити важливі дані, такі як резервні копії конфігів, сайтів або баз даних, які можуть зберігатися у тимчасових папках. Спочатку варто перевірити вміст цих папок за допомогою команди `ls -la`:

ls -la /tmp/
ls -la /var/tmp/

Якщо Ви перевірили, і там немає нічого важливого, для видалення тимчасових файлів можна використовувати наступні команди:

rm -rf /tmp/*
rm -rf /var/tmp/*

 

4. Додаткові дії для серверів з різними панелями управління серверами:

ISPmanager:

 

Очислити (обнулити) всі файли логів ISP:

find /usr/local/mgr5/var/logs -type f -exec sed -i 'd' "{}" \;

 

Очислити архіви логів у директорії /var/www/httpd-logs:

find /var/www/httpd-logs \( -name "*.[0-9]" -o -name "*.*.[0-9]" -o -name "*.gz" \) -exec rm {} \; && find /var/www/httpd-logs/ -type f -name "*log" -exec cp /dev/null {} \;

Папки з тимчасовими файлами в ISPmanager:

rm -rf /var/www/www-root/data/tmp/*

Де www-root - дефолтний користувач, або інший, що використовується на сервері.

 

VestaCP:

 

Видалити тимчасові файли та незавершені архіви в директорії VestaCP:

rm -rf /home/admin/tmp*
rm -rf /backup/tmp.*

При цьому видаляються незавершені або невдало виконані архіви користувача admin. Для іншого користувача вказати його в команді.

В VestaCP також можна використовувати наступну команду для видалення застарілих архівів логів:

rm -rf /var/log/*-2023*.gz

Де вказуєте замість 2023 - поточний рік.

Висновки.

Ці дії допоможуть очистити систему від застарілих і непотрібних логів та тимчасових файлів, підтримуючи її працездатність та оптимізацію.


Також пропонуємо розглянути інші корисні статті: