opened image

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

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

 

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

 

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 - поточний рік.

Висновки.

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


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