tgoop.com/linuxcamp_tg/345
Create:
Last Update:
Last Update:
Как очистить сервер от мусора
Со временем сервер обрастает мусором: логи, временные файлы, старые кэши. Разберем команды по удалению всего этого добра. Бонусом в конце будет готовый файл для запуска скрипта с логированием, который будет каждый день удалять все ненужное 🙂
Команда для удаления .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":
#!/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
LinuxCamp | #devops #utils
BY LinuxCamp | DevOps
Share with your friend now:
tgoop.com/linuxcamp_tg/345