Как автоматизировать очистку временных файлов на VPS?

В этой статье разберём:

  • где на VPS обычно хранятся временные файлы;
  • почему нельзя чистить сервер командой наугад;
  • как проверить размер временных папок;
  • как посмотреть старые временные файлы;
  • как работает автоматическая очистка через systemd-tmpfiles;
  • как проверить, включён ли таймер очистки на Ubuntu VPS.

Зачем очищать временные файлы на VPS

На VPS временные файлы создаются постоянно. Их оставляют установщики пакетов, скрипты, архиваторы, сайты, панели управления, фоновые задачи, обновления и разные сервисы. Обычно это нормальная часть работы сервера.

Проблема появляется, когда временные файлы не удаляются и начинают занимать много места. Если диск постепенно заполняется, сайт может работать нестабильно: не будут создаваться кэш, логи, резервные копии, временные файлы загрузок и обновлений.

Чаще всего место во временных папках растёт из-за:

  • архивов после переноса сайта;

  • временных файлов после обновлений;

  • кэша приложений;

  • неудачных загрузок файлов;

  • скриптов импорта и экспорта;

  • старых файлов, которые давно не используются.

Где находятся временные файлы

В Linux временные файлы чаще всего находятся в папках /tmp и /var/tmp. Они похожи, но используются немного по-разному.

  • /tmp — папка для временных файлов, которые обычно не должны храниться долго.

  • /var/tmp — временные файлы, которые могут жить дольше и иногда сохраняются между перезагрузками.

Также временные и служебные данные могут находиться в папках кэша, логов и приложений, но в этой статье мы не будем трогать их вручную. Начинать лучше с безопасной проверки стандартных временных каталогов.

Сначала проверяем свободное место на диске

Перед очисткой полезно понять, есть ли вообще проблема с местом. Для этого используем простую команду:

df -h
Проверка места на диске перед очисткой временных файлов

В выводе смотрим на основной раздел /. Если он заполнен на 80–90% и выше, стоит разобраться, какие папки занимают место. Если свободного места достаточно, чистку всё равно можно настроить, но срочной проблемы может не быть.

Проверяем размер временных папок

Теперь посмотрим, сколько места занимают стандартные временные папки:

sudo du -sh /tmp /var/tmp 2>/dev/null
Проверка размера временных папок на VPS

Если /tmp или /var/tmp занимают мало места, значит проблема с диском может быть в другом месте: логах, резервных копиях, медиафайлах сайта, базе данных или кэше.

Если временные папки занимают много места, не нужно сразу удалять всё командой rm -rf. Сначала лучше посмотреть, какие файлы там лежат и насколько они старые.

Смотрим старые временные файлы

Чтобы аккуратно посмотреть старые файлы в /tmp, можно использовать команду:

sudo find /tmp -type f -mtime +7 -printf "%TY-%Tm-%Td %TH:%TM %p\n" 2>/dev/null | head -20
Поиск старых временных файлов в tmp на VPS

Эта команда ничего не удаляет. Она только показывает примеры файлов старше 7 дней. Такой вариант безопаснее, чем сразу запускать удаление.

Разберём команду:

  • find /tmp — ищем внутри папки /tmp;

  • -type f — показываем только файлы;

  • -mtime +7 — выбираем файлы старше 7 дней;

  • head -20 — выводим только первые 20 строк, чтобы не завалить экран.

Почему не стоит удалять всё вручную

Самая опасная ошибка — удалить временные файлы слишком грубой командой. В папке /tmp могут находиться файлы, которые сейчас использует приложение, установщик, панель управления, база данных, сайт или фоновый процесс.

Лучше не делать так:

sudo rm -rf /tmp/*

Такая команда может удалить нужные временные файлы активных процессов. Иногда это проходит без последствий, а иногда приводит к ошибкам в работе служб.

Более правильный подход — использовать штатный механизм очистки временных файлов. В современных Linux-системах для этого часто применяется systemd-tmpfiles.

Проверяем настройки systemd-tmpfiles

systemd-tmpfiles — стандартный механизм, который умеет создавать, очищать и обслуживать временные файлы по правилам. На Ubuntu он обычно уже есть в системе.

Посмотреть правила для временных папок можно так:

cat /usr/lib/tmpfiles.d/tmp.conf 2>/dev/null | head -40
Проверка правил systemd-tmpfiles на VPS

В этом файле описаны правила для временных каталогов. Например, система может автоматически очищать старые файлы из /tmp по заданным условиям.

Важно: лучше не редактировать системный файл в /usr/lib/tmpfiles.d/. Если нужно изменить правила, обычно создают отдельный файл в /etc/tmpfiles.d/. Но для обычного VPS часто достаточно стандартных настроек.

Проверяем автоматический таймер очистки

На Ubuntu очистка временных файлов может запускаться автоматически через таймер systemd. Проверить его можно командой:

systemctl status systemd-tmpfiles-clean.timer --no-pager
Проверка таймера очистки временных файлов на VPS

Если таймер активен, система будет периодически запускать очистку по своим правилам. Это безопаснее, чем вручную удалять всё из временных папок.

Если таймер отключён, его можно включить:

sudo systemctl enable --now systemd-tmpfiles-clean.timer

После этого автоматическая очистка будет запускаться по расписанию, которое задано в systemd.

Как запустить очистку вручную

Если нужно запустить штатную очистку вручную, можно использовать:

sudo systemd-tmpfiles --clean

Эта команда применяет правила очистки временных файлов. Она не равна грубому удалению всей папки /tmp, потому что работает по настроенным правилам.

После выполнения можно снова проверить размер временных папок:

sudo du -sh /tmp /var/tmp 2>/dev/null

Если размер почти не изменился, это не обязательно ошибка. Возможно, в папках нет файлов, которые подходят под правила очистки, или место занимают файлы, которые пока не должны удаляться.

Когда нужна ручная проверка

Автоматическая очистка помогает поддерживать порядок, но она не решает все проблемы с диском. Если место на VPS быстро заканчивается, нужно искать конкретную причину.

Ручная проверка нужна, если:

  • диск заполняется за несколько дней;

  • папка /tmp занимает гигабайты;

  • после очистки место быстро заканчивается снова;

  • на сайте часто выполняются импорты или экспорты;

  • резервные копии сохраняются на том же VPS;

  • логи или кэш растут слишком быстро.

В такой ситуации важно найти источник роста файлов, а не просто периодически очищать сервер.

Что ещё можно автоматизировать

Кроме временных файлов, на VPS можно автоматизировать и другие регулярные задачи. Но каждую из них лучше настраивать аккуратно и с пониманием, что именно будет удаляться или изменяться.

Часто автоматизируют:

  • резервное копирование сайта;

  • очистку старых архивов;

  • ротацию логов;

  • проверку обновлений;

  • мониторинг свободного места;

  • уведомления при высокой нагрузке.

Но удаление файлов всегда должно быть осторожным. Лучше сначала выводить список файлов, проверять его, и только потом добавлять автоматическое удаление.

Частые ошибки при очистке временных файлов

  • Удалять всё из /tmp без проверки

    Некоторые временные файлы могут использоваться активными процессами. Грубое удаление может привести к ошибкам.

  • Не проверять, что занимает место

    Иногда проблема не во временных файлах, а в логах, бэкапах, изображениях или базе данных.

  • Хранить бэкапы во временных папках

    Временные каталоги не предназначены для важного хранения. Бэкапы лучше сохранять в понятном месте и дополнительно выносить за пределы VPS.

  • Настраивать автоудаление без теста

    Перед автоматическим удалением нужно убедиться, что команда показывает именно те файлы, которые можно безопасно убрать.

Итоги

  • Временные файлы чаще всего находятся в /tmp и /var/tmp.

  • Перед очисткой нужно проверить свободное место через df -h.

  • Размер временных папок можно посмотреть через du -sh.

  • Старые файлы лучше сначала просмотреть через find, а не удалять сразу.

  • Для автоматической очистки безопаснее использовать systemd-tmpfiles, а не грубый rm -rf.

Вывод: автоматизация очистки временных файлов на VPS нужна для порядка и стабильности, но её нельзя делать наугад. Лучший вариант — сначала проверить размер папок, посмотреть старые файлы, убедиться, что работает штатный таймер systemd-tmpfiles, и только потом запускать очистку по правилам системы.

Оставить комментарий