diff options
Diffstat (limited to 'LINUX/Очистка и удаление старых ядер.md')
| -rw-r--r-- | LINUX/Очистка и удаление старых ядер.md | 78 |
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 +``` |
