Как очистить папку логов
Введение
Со временем Minecraft-сервер накапливает множество лог-файлов в папке logs/. Эти файлы могут занимать гигабайты дискового пространства и влиять на производительность, особенно при длительной работе без перезапуска. Данное руководство подробно описывает, как безопасно очистить папку логов на сервере Minecraft, работающем под управлением Ubuntu на платформе proxify.cloud (панель Proxmox). Инструкция подходит для любых выделенных или виртуальных серверов с Linux и преднастроенным сервером Minecraft (без модов или с ними), использующих стандартное расположение логов.
Шаг 1: Подключение к серверу и остановка Minecraft
1.1. Доступ к консоли
Используйте один из способов:
- SSH-подключение к вашему IP:
ssh root@<IP-сервера(или имя пользователя, если настроено). - Консоль Proxmox в панели proxify.cloud: откройте интерфейс управления, выберите ваш контейнер/VM и перейдите в раздел Console.
💡 Если вы ранее настраивали sudo-пользователя (например,
minecraft), зайдите под ним:ssh minecraft@<IP
1.2. Найдите процесс Minecraft
Убедитесь, что сервер работает (если планируете его останавливать):
ps aux | grep java
Вы увидите строку с запущенным java -jar server.jar (или forge, paper и т.д.). Запомните путь к папке сервера – он будет указан в аргументе -Dserver.properties или в текущей рабочей директории процесса.
1.3. Остановите сервер
Чистое завершение предотвращает повреждение файлов и гарантирует, что файлы логов не будут заняты.
Вариант А: Если сервер запущен через systemd (рекомендуется):
sudo systemctl stop minecraft
Вариант Б: Если сервер запущен в screen/tmux или вручную:
# Отправить команду stop в консоль сервера (если screen -S minecraft)
screen -S minecraft -X stuff "say Сервер останавливается для очистки логов$(printf '\r')"
screen -S minecraft -X stuff "stop$(printf '\r')"
Подождите 10–20 секунд, пока сервер корректно завершится. Проверьте, что процесс java исчез:
ps aux | grep java # не должно быть результатов (кроме самой grep)
Шаг 2: Найдите папку логов
Директория с логами обычно находится внутри папки сервера. Чаще всего это:
/opt/minecraft/server/logs/
/home/minecraft/server/logs/
~/server/logs/
Если вы не знаете точное расположение – узнайте его через рабочую директорию процесса:
# Если сервер ещё не остановлен
ls -l /proc/$(pgrep -f "minecraft_server.jar" | head -1)/cwd
Или просто перейдите в папку, где лежит server.properties:
cd /opt/minecraft/server # пример
Теперь проверьте содержимое папки логов:
ls -lh logs/
Вы увидите файлы вида:
latest.log– текущий лог (не сжатый).2025-01-15-1.log.gz– сжатые архивы с прошлых дней.2025-01-15-2.log.gz, и т.д.
Также там могут лежать debug.log и другие файлы.
Шаг 3: Очистка логов
Все команды выполняйте из папки сервера. В зависимости от ваших целей выберите один из вариантов или комбинацию.
3.1. Полная очистка папки logs (все файлы)
cd /opt/minecraft/server # убедитесь, что вы в нужной директории
rm -rf logs/ # удалит всю папку со всеми логами
mkdir logs # создать пустую папку заново
После этого сервер при старте создаст новый logs/latest.log.
⚠️ Важно: Вместе с логами удалятся и возможные файлы блокировок (session.lock). Ничего страшного, они не нужны.
3.2. Очистка только файлов .log и .log.gz
Если вы хотите сохранить структуру папки, но удалить все файлы:
cd /opt/minecraft/server
rm -v logs/*.log # удалить все .log
rm -v logs/*.log.gz # удалить все сжатые архивы
3.3. Удаление только старых логов (оставить последние, например, за 7 дней)
find logs/ -name "*.log.gz" -mtime +7 -delete
find logs/ -name "*.log" -type f -mtime +7 -delete
-mtime +7 – файлы старше 7 суток. Измените число по необходимости.
Папка logs/ останется, а свежие файлы (включая latest.log) не тронутся.
3.4. Очистка только latest.log (без удаления архивированных)
Если вы хотите обнулить основной лог, но не терять архивы:
truncate -s 0 logs/latest.log
Это не удалит файл, а сделает его содержимое пустым.
3.5. Выборочное удаление логов по дате в названии
Логи обычно называются YYYY-MM-DD-N.log.gz. Вы можете удалить, например, все логи за январь 2025:
cd logs/ && rm -f 2025-01-*.log.gz
Шаг 4: Настройка автоматической ротации (logrotate)
Чтобы в будущем не чистить логи вручную, настройте системный logrotate. Он будет автоматически сжимать и удалять старые записи.
Создайте файл /etc/logrotate.d/minecraft (от рута или через sudo):
sudo nano /etc/logrotate.d/minecraft
Пример содержимого:
/opt/minecraft/server/logs/*.log {
daily
rotate 7
compress
delaycompress
missingok
Комментарии (0)