summaryrefslogtreecommitdiff
path: root/LINUX/Очистка и удаление старых ядер.md
diff options
context:
space:
mode:
Diffstat (limited to 'LINUX/Очистка и удаление старых ядер.md')
-rw-r--r--LINUX/Очистка и удаление старых ядер.md78
1 files changed, 78 insertions, 0 deletions
diff --git a/LINUX/Очистка и удаление старых ядер.md b/LINUX/Очистка и удаление старых ядер.md
new file mode 100644
index 0000000..a9745c8
--- /dev/null
+++ b/LINUX/Очистка и удаление старых ядер.md
@@ -0,0 +1,78 @@
+```sh
+ls /boot
+
+sudo uname -a
+
+sudo apt list --installed | egrep "linux-image | linux-headers"
+
+dpkg --list | egrep "linux-image | linux-headers"
+
+# Здесь **rc** - означает, что пакет был установлен, но уже удален, а **ii** - что пакет сейчас установлен. На основе полученного списка вы можете удалить любую версию, например, 4.15.0-91:
+
+sudo apt purge linux-image-4.15.0-66-generic linux-headers-4.15.0-91-generic
+
+# Удалить все старые ядра:
+sudo apt --purge autoremove
+sudo apt autoremove
+sudo update-grub
+
+
+```
+
+==========================================
+#### Как очистить сервер от мусора
+
+Со временем сервер обрастает мусором: логи, временные файлы, старые кэши. Разберем команды по удалению всего этого добра. Бонусом в конце будет готовый файл для запуска скрипта с логированием, который будет каждый день удалять все ненужное 🙂
+
+Команда для удаления .log-файлов старше 7 дней:
+
+`find /var/log -type f -name "*.log" -mtime +7 -delete
+
+find - команда поиска файлов
+/var/log - папка, где хранятся логи
+"-type f" - ищем только файлы
+-name "*.log" - по шаблону *.log
+"-mtime +7" - старше 7 дней
+-delete - сразу удалять
+
+Очистить systemd-журналы:
+
+`journalctl --vacuum-time=7d
+
+Эта команда удаляет внутренние журналы системы, которым больше 7 дней. Такие журналы хранят события: старты, ошибки, перезагрузки, службы — всё, что происходило в системе. Обычно занимают много места, особенно если сервер работает давно.
+
+Очистить временные файлы:
+
+`rm -rf /tmp/* /var/tmp/*
+
+Удаляет всё из временных директорий. Будь осторожен, если на сервере кто-то работает прямо сейчас.
+
+Очистить кэш и мусор после установки пакетов:
+
+`apt clean && apt autoremove -y
+
+"apt clean" - очищает кэш установленных .deb файлов
+"apt autoremove" - удаляет больше не нужные зависимости
+"-y" - выполнять без лишних вопросов
+
+Ниже прикладываю готовый файл. Его нужно будет сделать исполняемым и можно добавить в crontab с запуском в каждое воскресенье в 0:00. Все результаты будут сохраняться в файл "/var/log/server-cleanup.log":
+
+```sh
+#!/bin/bash
+
+LOG_FILE="/var/log/server-cleanup.log"
+echo "[$(date)] Очистка начата" >> "$LOG_FILE"
+
+find /var/log -type f -name "*.log" -mtime +7 -delete >> "$LOG_FILE" 2>&1
+journalctl --vacuum-time=7d >> "$LOG_FILE" 2>&1
+rm -rf /tmp/* /var/tmp/* >> "$LOG_FILE" 2>&1
+apt clean && apt autoremove -y >> "$LOG_FILE" 2>&1
+
+echo "[$(date)] Очистка завершена" >> "$LOG_FILE"
+
+sudo chmod +x /usr/local/bin/clean-server.sh
+
+sudo crontab -e
+
+0 0 * * 0 /usr/local/bin/clean-server.sh
+```