Гид по технологиям

Автоматическое очищение Корзины в Linux с помощью autotrash

• 6 min read • Linux • Обновлено 23 Nov 2025
autotrash: автоматически очищать Корзину в Linux
autotrash: автоматически очищать Корзину в Linux

Несколько раз в жизни вы наверняка удаляли не тот файл или папку, или удаляли намеренно, а потом вдруг поняли, что они нужны снова. Есть более надёжный способ работать с удалением — не затирать данные навсегда сразу, а дать им «отлежаться» в виртуальной корзине и автоматически очищать только старые элементы. Эта модель уже реализована в Windows 10, на некоторых смартфонах и в некоторых окружениях рабочего стола Linux. Тем не менее многие пользователи не знают о практических преимуществах.

Жёсткое удаление vs Отправка в Корзину

Коротко: оба варианта имеют недостатки. Жёсткое удаление (например, Shift+Delete в проводнике) лишает вас простого способа вернуть файл. На некоторых файловых системах (ext4) восстановление крайне затруднено; на NTFS — немного проще, но всё равно ненадёжно.

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

Проблема отправки файлов в Корзину

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

На Linux есть утилита autotrash, которая автоматизирует удаление только «старых» файлов из корзины — по времени пребывания в ней. Это сочетает удобство корзины и регулярную очистку для освобождения места.

Важно: autotrash опирается на специфику реализации корзины рабочего стола (XDG Trash specification). На нестандартных окружениях или сетевых шары он может работать иначе или не поддерживаться.

Установка и автоматический запуск autotrash при входе в систему

Откройте терминал и установите autotrash (в примере — для Debian/Ubuntu-подобных систем):

sudo apt update &&sudo apt install autotrash

Скриншот установки autotrash в терминале

Введите пароль пользователя, подтвердите установку, набрав «y» и нажав Enter.

Подтверждение установки autotrash в терминале

Далее мы настроим автозапуск команды при входе в сессию рабочего стола. Откройте файл .xsessionrc в текстовом редакторе (пример с nano):

nano ~/.xsessionrc

Вставьте строку (пример — удалять файлы старше 30 дней):

autotrash -d30&

Добавление команды autotrash в .xsessionrc для автозапуска

Объяснение: параметр -d30 указывает возраст в днях (30). Символ & запускает процесс в фоне, чтобы вход в сессию не задерживался если удаляем много файлов.

Сохраните файл: Ctrl+X → y → Enter.

Опционально: чтобы логировать работу autotrash в журнал systemd (если в системе есть systemd и вы используете systemd‑журнал), можно вместо предыдущей строки вставить:

systemd-cat -t autotrash -p info autotrash -v-d30&

Добавление команды autotrash с логированием в .xsessionrc

Записи в системном журнале будут выглядеть примерно так:

Пример записей autotrash в systemd журнале

Опции и пояснения

  • autotrash -dN или autotrash -dNN: удалить элементы старше N дней. (В статье использован пример -d30.)
  • Символ & в командной строке запускает процесс в фоне: полезно при автозапуске.
  • При использовании systemd‑журнала systemd-cat позволяет пометить сообщения тегом и уровнем важности.

Примечание: точный набор опций autotrash может варьироваться по версиям в дистрибутивах; при сомнении выполните man autotrash или autotrash –help.

Логирование через systemd: альтернатива автозапуску в .xsessionrc

Если вы предпочитаете более «системный» подход, используйте systemd user‑unit + timer (работает для систем с systemd и поддержкой пользовательских таймеров). Пример конфигурации (поместите в ~/.config/systemd/user/):

Файл: ~/.config/systemd/user/autotrash.service

[Unit]
Description=Запуск autotrash для очистки корзины

[Service]
Type=oneshot
ExecStart=/usr/bin/autotrash -v -d 30

Файл: ~/.config/systemd/user/autotrash.timer

[Unit]
Description=Ежедневный запуск autotrash

[Timer]
OnBootSec=5min
OnUnitActiveSec=1d
Persistent=true

[Install]
WantedBy=timers.target

Команды для включения и запуска таймера:

systemctl --user daemon-reload
systemctl --user enable --now autotrash.timer

Плюсы systemd‑таймера: гибкое расписание (OnCalendar, OnUnitActiveSec), устойчивость к перезагрузкам (Persistent), централизованное логирование в journal.

Альтернативные подходы

  • Использовать cron: @daily autotrash -d 30 >/dev/null 2>&1 — просто и работает на системах без systemd.
  • trash-cli — другая утилита для работы с корзиной из терминала (manipulation, restore, empty).
  • В файловом менеджере настроить автоматическую очистку корзины (некоторые DE поддерживают правила старения).
  • Системные политики на уровне бэкапа: регулярное резервное копирование позволяет безопасно удалять данные, но не заменяет удобство корзины и «окно» восстановления.

Когда autotrash не сработает или будет нежелателен

  • Если корзина реализована нестандартно (не по XDG Trash spec) или находится на сетевой шары с другой логикой хранения.
  • На зашифрованных томах, где восстановление или манипуляции зависят от ключей и монтирования.
  • Если пользователи ожидают, что удалённые файлы хранятся неопределённо долго (политики компании/архивирование).

Чек‑лист для пользователя и администратора

Для обычного пользователя:

  • Установить autotrash через пакетный менеджер.
  • Добавить autotrash -dN& в ~/.xsessionrc или настроить systemd timer.
  • Проверить работоспособность (ручный запуск autotrash -v -d30).
  • При желании включить логирование через systemd-cat.

Для администратора при развёртывании в организации:

  • Проверить совместимость окружений рабочего стола (KDE/GNOME/Xfce и поддержка XDG Trash).
  • Решить политику «возраста» файлов (N дней) и задокументировать её.
  • Подготовить systemd user‑unit или глобальный systemd timer для системных учётных записей, если требуется.
  • Создать инструкцию для пользователей и обеспечить канал поддержки при ошибках восстановления.

Критерии приёмки

  • autotrash установлен и доступен для пользователей.
  • Команда запускается автоматически при входе в систему или через systemd таймер.
  • Файлы старше заданного порога (например, 30 дней) удаляются из корзины автоматически.
  • Младшие по возрасту файлы остаются в корзине и могут быть восстановлены вручную.
  • Логи работы autotrash доступны в journal (если логирование включено).

Сниппеты и шаблоны (cheat sheet)

  • Быстрый ручной запуск, подробный режим, 14 дней:
autotrash -v -d14
  • Cron (ежедневно):
@daily /usr/bin/autotrash -d 30 >/dev/null 2>&1
  • systemd user unit + timer — см. раздел выше.

Тесты и приёмка: что проверить

  • Удалите тестовый файл через файловый менеджер, убедитесь что он попал в ~/.local/share/Trash или эквивалент.
  • Запустите autotrash вручную с порогом 0 дней: autotrash -v -d0 — файл должен быть удалён.
  • Установите порог 365 дней и убедитесь, что недавно удалённый файл остаётся.
  • Проверьте логи: journalctl –user -t autotrash (при использовании systemd-cat).

Заключение

autotrash — простая и надёжная утилита, которая даёт лучшее из двух миров: возможность быстро восстановить недавно удалённые файлы и автоматическую очистку старых элементов корзины для освобождения места. Выберите подходящий способ автозапуска (.xsessionrc, systemd user timer или cron), определите разумный период «старения» и добавьте логирование при необходимости. Через несколько недель вы оцените преимущество такой системы.

Короткие рекомендации:

  • Если вы хотите минимальной настройки — вставьте autotrash -d30& в ~/.xsessionrc.
  • Для централизованного управления у администраторов — используйте systemd user timer.
  • Всегда тестируйте на нескольких учётных записях и окружениях.

Примечание: autotrash автоматизирует удаление корзины, но не заменяет регулярное резервное копирование важных данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро