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 - текущий год.

Выводы.

Эти действия помогут очистить систему от устаревших и ненужных логов и временных файлов, поддерживая ее работоспособность и оптимизацию.


Также предлагаем рассмотреть другие полезные статьи: