Поиск больших логов на сервере Ubuntu 22.04, очистка и удаление с помощью SSH
Решил почистить логи на сервере и почистить их. Ниже приведу основные команды ssh:
Поиск логов конкретно для домена domen.ru:
#Поиск логов конкретно для домена domen.ru
sudo find /var/log /opt /home -type f -name "*.log" | xargs grep -l "domen.ru" 2>/dev/null
Поиск ВСЕХ логов на сервере и сортировка по размеру:
#Поиск ВСЕХ логов на сервере и сортировка по размеру
sudo find /var /opt /home -type f \( -name "*.log" -o -name "*.log.*" -o -name "*access*" -o -name "*error*" \) -size +1M 2>/dev/null -exec du -h {} \; | sort -hr
Команда для мониторинга растущих логов в реальном времени:
# Топ-10 самых больших логов на сервере
sudo find / -type f \( -name "*.log" -o -name "*.log.*" \) -size +10M 2>/dev/null -exec du -h {} \; | sort -hr | head -10
# Мониторинг изменений размера логов
watch -n 5 'find /var/log -name "*.log" -exec du -h {} \; 2>/dev/null | sort -hr | head -10'
Безопасно удаляем накопившиеся логи:
После выполнения команды:
#Поиск ВСЕХ логов на сервере и сортировка по размеру
sudo find /var /opt /home -type f \( -name "*.log" -o -name "*.log.*" -o -name "*access*" -o -name "*error*" \) -size +1M 2>/dev/null -exec du -h {} \; | sort -hr
В ответ вы получите что то типа такого:
root@5810553-wg69735:~# #Поиск ВСЕХ логов на сервере и сортировка по размеру
sudo find /var /opt /home -type f \( -name "*.log" -o -name "*.log.*" -o -name "*access*" -o -name "*error*" \) -size +1M 2>/dev/null -exec du -h {} \; | sort -hr
342M /var/log/apache2/domains/domen.ru.log.1
28M /var/log/apache2/domains/domen2.ru.log.1
23M /var/log/apache2/domains/domen.ru.error.log.1
21M /var/log/apache2/domains/domen.ru.log
19M /var/log/apache2/domains/domen.log.2.gz
17M /var/log/apache2/domains/domen.ru.log.4.gz
17M /var/log/apache2/domains/domen.ru.log.3.gz
11M /var/log/apache2/domains/domen.ru.error.log
6.9M /var/log/auth.log.1
4.8M /var/log/auth.log
2.2M /var/log/apache2/domains/domen3.ru.log
2.1M /var/log/apache2/domains/domen4.ru.log
2.0M /var/log/apache2/domains/domen.ru.log.3.gz
1.9M /var/log/apache2/domains/domen.ru.log.2.gz
1.4M /var/log/fail2ban.log.1
1.2M /var/log/hestia/system.log
1.1M /var/log/vsftpd.log.1
1.1M /var/log/apache2/domains/domen.ru.log
root@5810553-wg69735:~#
Смотрим какие логи занимают больше всего места и чистим их.
Очистка содержимого логов (без удаления файлов):
# Очищаем основные логи вашего сайта
sudo truncate -s 0 /var/log/apache2/domains/domen.ru.log
sudo truncate -s 0 /var/log/apache2/domains/domen.ru.error.log
sudo truncate -s 0 /var/log/apache2/domains/domen.ru.log.1
# Очищаем другие большие логи
sudo truncate -s 0 /var/log/auth.log
sudo truncate -s 0 /var/log/auth.log.1
sudo truncate -s 0 /var/log/fail2ban.log.1
Так же можно удалить устаревшие сжатые логи:
# Можно безопасно удалить старые .gz файлы
sudo rm -f /var/log/apache2/domains/domen.ru.log.*.gz
sudo rm -f /var/log/apache2/domains/domen2.ru.log.*.gz
Далее вновь запускаем команду проверки с сортировкой по размеру:
#Поиск ВСЕХ логов на сервере и сортировка по размеру
sudo find /var /opt /home -type f \( -name "*.log" -o -name "*.log.*" -o -name "*access*" -o -name "*error*" \) -size +1M 2>/dev/null -exec du -h {} \; | sort -hr
И наблюдаем что логи исчезли.
Комментариев 0