Автоматическое удаление старых файлов в «Загрузках» macOS через Automator

Кому и зачем это нужно
Если вы часто скачиваете файлы на Mac, папка «Загрузки» быстро захламляется. Ручная очистка отнимает время и забывается. Автоматизация через Automator помогает поддерживать порядок без постоянных усилий: старые файлы перемещаются в Корзину автоматически, когда в папку добавляются новые элементы.
Кратко о терминах:
- Folder Action — автоматизация, которая реагирует на изменения в указанной папке.
- Automator — встроенное приложение macOS для создания автоматизированных задач.
Что вы получите
- Автоматическое удаление файлов старше выбранного срока (например, 7 дней).
- Логичный и проверяемый рабочий процесс в Automator.
- Варианты для тонкой настройки и резервной проверки перед удалением.
Важно: действие перемещает файлы в Корзину, а не сразу удаляет их окончательно. Чтобы полностью освободить место, настройте автоматическую очистку Корзины отдельно.
Пошаговая инструкция: создание Folder Action в Automator
- Откройте приложение Automator (Applications → Automator).
- При появлении окна выбора типа документа выберите «Folder Action» и нажмите «Choose».

- В правой части окна найдите выпадающее меню рядом с текстом «Folder Action receives files and folders added to» и выберите «Other…». Укажите папку “Downloads” в Finder и нажмите «Choose».

- В строке поиска действий посередине введите «Run Shell Script» и перетащите этот блок в правую область рабочего процесса.

- В самом блоке действия установите Shell в “/bin/bash”.

- Вставьте в текстовое поле следующий командный пример (с сохранением кавычек):
find "[path to Downloads directory]/Downloads" -ctime +7d -o -mtime +7d -iname '*.*'Пояснение:
- -ctime проверяет время создания (когда файл появился в системе).
- -mtime проверяет время последней модификации.
- +7d означает «старше 7 дней».
Замените [path to Downloads directory] на фактический путь к вашей папке «Загрузки». Чтобы узнать путь:
В Finder правой кнопкой мыши кликните по «Downloads» в боковой панели и выберите «Get Info».
В окне сведений нажмите стрелку возле раздела “General” (или просто просмотрите поле “Where”), затем правой кнопкой мыши на адресе и выберите «Copy as Pathname».


Вставьте путь в команду в Automator и убедитесь, что в конце добавлено “/Downloads”.
Нажмите «Run» в верхней части окна Automator, чтобы протестировать команду. Если всё настроено верно, в разделе «Results» вы увидите список файлов, подходящих под критерий.


Если поиск возвращает ожидаемые файлы, в панели действий найдите «Move Finder Items to Trash» (или локализованный «Переместить объекты Finder в Корзину») и перетащите этот блок под «Run Shell Script», чтобы связать их последовательно.
Сохраните действие — File → Save (Command+S). Дайте понятное имя, например: «Очистка Загрузок — старше 7 дней». Automator сохранит действие в папке ~/Library/Workflows/Applications/Folder Actions/.

Теперь каждый раз, когда в папку «Загрузки» добавляется новый файл, Automator выполнит проверку и переместит в Корзину файлы старше указанного срока.
Альтернативные подходы и когда они выгоднее
- Hazel (стороннее приложение): проще настроить правила через GUI, поддерживает более гибкие условия, но платное.
- launchd + shell-скрипт по расписанию: если вы хотите запускать очистку по таймеру (например, раз в сутки) независимо от событий в папке.
- Смарт-папки и ручной скрипт: удобны, если вы предпочитаете сначала просматривать найденные элементы.
Когда Folder Action не подходит:
- Если вы не хотите, чтобы удаление происходило при каждом добавлении файла (например, вы скачиваете много частей и хотите дождаться завершения сессии). В этом случае лучше периодический запуск через launchd.
- Если файлы обрабатываются облачными сервисами, и время создания/модификации не отражает реального состояния загрузки — используйте дополнительные фильтры по расширениям или метаданным.
Как настроить более мягкую политику удаления
- Измените +7d на +30d для удаления старше месяца.
- Добавьте фильтрацию по типу файла: в команде find используйте -iname ‘*.pdf’ или исключите .zip и .dmg.
- Вместо немедленного перемещения в Корзину вставьте промежуточный шаг: записать список в текстовый файл для ручной проверки.
Безопасность, конфиденциальность и риски
Important: Автоматическое перемещение файлов в Корзину может привести к потере важных данных, если правило слишком агрессивно. Рекомендации по снижению риска:
- Используйте тестовый период: сначала запускайте рабочий процесс в ручном режиме («Run») и проверяйте результаты.
- Исключите папки и типы файлов, которые важны (например, рабочие документы или инсталляторы).
- Настройте регулярную проверку Корзины перед её автоматическим очищением.
Примечание по приватности: Automator и локальные скрипты работают на вашем Mac и не отправляют данные в сеть, если вы не добавляете сетевые команды.
Критерии приёмки
- При ручном запуске Workflow в «Results» появляются ожидаемые файлы (старше выбранного периода).
- После сохранения и добавления новых файлов в «Загрузки» старые файлы перемещаются в Корзину автоматически.
- Путь к папке в команде точный и содержит “/Downloads” в конце.
Тестовые сценарии и критерии
- Тест: файл, созданный 10 дней назад — ожидаемое поведение: перемещён в Корзину.
- Тест: файл, созданный вчера — ожидаемое поведение: остаётся в папке.
- Тест: новый файл сразу после сохранения — действие запускается, но файл не удаляется, если младше порога.
- Тест: файлы с защищёнными правами — убедитесь, что Automator имеет разрешения на доступ к папке.
Критерии приёмки: все тесты пройдены без ошибок, и системные разрешения включены.
Рольные чек-листы
Для обычного пользователя:
- Сделать резервную копию важных файлов перед включением автоматизации.
- Протестировать правило вручную.
- Проверять Корзину перед её очисткой.
Для администратора (IT):
- Стандартизировать политику: какой срок считать «старым» для разных классов пользователей.
- Развернуть действие через конфигурационные профили или сцрипты установки, если требуется массовая настройка.
- Настроить мониторинг свободного места и оповещения.
Устранение неполадок
- Если Automator не видит файлы: проверьте точность пути и права доступа к папке.
- Если действие не запускается при добавлении файлов: убедитесь, что Folder Actions включены (в Finder: Services → Folder Actions Setup) и что ваш Workflow прикреплён к правильной папке.
- Если команда find не возвращает ожидаемых результатов: запустите ту же команду в Terminal, чтобы увидеть вывод и ошибки.
Пример файла сценария для launchd (альтернатива)
Если вы хотите выполнять очистку по расписанию (например, раз в сутки), можно создать bash-скрипт с той же командой find и зарегистрировать его в launchd. Это полезно, если вы предпочитаете периодический запуск вместо реакции на каждый новый файл.
Decision flow
flowchart TD
A[Файл добавлен в Загрузки] --> B{Прошло ли >7 дней с создания или изменения?}
B -- Да --> C[Переместить в Корзину]
B -- Нет --> D[Оставить в папке]
C --> E[Готово]
D --> EДополнительные советы и лучшие практики
- Исключайте временные и рабочие папки, если вы используете «Загрузки» как промежуточное хранилище для текущих задач.
- Комбинируйте критерии (время + расширение), чтобы избежать удаления архивов и установщиков, которые вы хотите сохранить.
- Регулярно проверяйте политику очистки и корректируйте порог в зависимости от объёма загрузок.
Примеры команд для расширенной фильтрации
Удаление только PDF и изображений старше 30 дней:
find "/Users/vasya/Downloads" \( -iname '*.pdf' -o -iname '*.jpg' -o -iname '*.png' \) -mtime +30 -printИсключение архива .zip и установщиков .dmg:
find "/Users/vasya/Downloads" -mtime +7 -not -iname '*.zip' -not -iname '*.dmg' -printВместо -print используйте действие Automator «Move Finder Items to Trash», чтобы автоматически перемещать найденные объекты в Корзину.
Когда этот подход не подходит
- Если вы используете облачный синхронизатор с уникальными временными метками — критерииctime/mtime могут давать ложные результаты.
- Если требуется коллективное управление политикой хранения на нескольких машинах без ручной настройки — лучше рассмотреть MDM или сторонние инструменты.
Короткое резюме
Folder Action в Automator — простой, встроенный и бесплатный способ поддерживать папку «Загрузки» в порядке. Он подходит для большинства пользователей, которым нужно автоматическое перемещение старых файлов в Корзину. При необходимости используйте альтернативы (Hazel, launchd) для более гибкого или централизованного управления.
Важно: сначала протестируйте рабочий процесс вручную и убедитесь, что исключены важные файлы. Сохраните копию правил и документируйте политику для других пользователей.
Итоговые шаги:
- Создайте Folder Action в Automator.
- Добавьте Run Shell Script с корректной командой find и путём.
- Добавьте Move Finder Items to Trash.
- Тестируйте и корректируйте параметры.
Important: Если вы хотите полностью освободить место, настройте автоматическую очистку Корзины отдельно (например, через «Remove items from the Trash after 30 days» в настройках Finder или через отдельный скрипт).
Похожие материалы
Как запустить Steam на Chromebook
Сохранить слайд PowerPoint как изображение
tar: создание, сжатие и распаковка архивов
Где смотреть «Друзья» — стриминг и покупка
Как открыть файл Pages в Windows 11 — 7 способов