NythyCleaner
← Блог

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

11 мин чтения
#scheduled-cleanup#macos#automation#launchd#maintenance#pro

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

Обслуживание Mac легко откладывается. Кеши растут, старые загрузки копятся, папки разработки занимают десятки гигабайт — без привычки редко открывают чистильщик каждую неделю.

Запланированная очистка превращает обслуживание в повторяющуюся задачу, которую настраиваете один раз. NythyCleaner может выполнять те же категории ежедневно, еженедельно, раз в две недели или ежемесячно, будить приложение в фоне, даже если оно закрыто, и уведомлять по завершении.

Зачем автоматизировать

  • Кеши и временные файлы возвращаются сами; расписание удерживает их в рамках.
  • Машины разработчиков (DerivedData, менеджеры пакетов, Docker) выигрывают от регулярных проходов.
  • Предсказуемый график снижает риск «диск заполнен» перед дедлайном.

Будьте осторожны: отмечайте только понятные категории; может понадобиться полный доступ к диску.

Что даёт сам macOS

В macOS нет простого «чистить кеши каждое воскресенье». Скрипты, plist launchd или «Команды» возможны, но пути и права поддерживаете вы.

Приложения вроде NythyCleaner оборачивают запуск по расписанию + launchd в готовые категории и существующие движки очистки.

Как работает запланированная очистка в NythyCleaner

В разделе Запланированная очистка вы выбираете:

  1. Вкл/выкл
  2. Интервал: ежедневно, еженедельно, раз в две недели или ежемесячно (~30 суток в реализации)
  3. Категории (кеши пользователя, логи, корзина, браузеры, Xcode, Homebrew, npm/pip, Docker и т. д.)

Настройки в UserDefaults; lastRunDate обновляется после завершённого прохода с хотя бы одной категорией — от этого считается следующий срок.

Когда проход «срок»

Функция включена, выбрана хотя бы одна категория, и либо нет прошлого запуска, либо сейчас ≥ последний запуск + интервал.

Два механизма: фоновое пробуждение и проверки в приложении

МеханизмНазначениеПримерная частота
LaunchAgent (~/Library/LaunchAgents/io.nythycleaner.scheduled-cleanup.plist)Запускает приложение через /usr/bin/open -g -a NythyCleaner, чтобы автоматика работала даже если приложение было закрытоКаждые 4 часа
Планировщик в приложенииПока NythyCleaner открыт, проверяет срокКаждые 30 минут

4 часа — не частота очистки, а только ритм пробуждения. Реальная периодичность — выбранный вами день/неделя/месяц.

Когда устанавливается LaunchAgent

NythyCleaner не оставляет агент до хотя бы одного успешного запланированного прохода, сдвигающего календарь (внутренний флаг согласия). При отключении функции plist удаляется и выгружается через launchctl.

Подписка Pro

Автоматические запланированные проходы требуют активного Pro. Без проверки проход пропускается, функция отключается, LaunchAgent синхронизируется (удаляется).

Уведомления

После автоматического прохода может прийти уведомление macOS. Запрос разрешения — только при статусе не определён.

Перекрытие

Блокировка не даёт запустить два запланированных прохода одновременно.

Выбор категорий

Как в системной очистке: кеши, логи, временные файлы, корзина, браузеры, Xcode, Homebrew, много dev-кешей, Docker, вложения Mail, Quick Look, состояние приложений, кеш шрифтов и др.

Совет: начните с небольшого набора.

Надёжность

  • Некоторым категориям нужен полный доступ к диску.
  • Mac должен быть достаточно активен, чтобы launchd запустил приложение.

Частые вопросы

Удаляет личные документы?

Только то, что входит в отмеченные категории.

Почему 4 часа?

Баланс между скоростью реакции и частотой запуска.

Деинсталляция?

Сначала отключите запланированную очистку или удалите io.nythycleaner.scheduled-cleanup.plist из ~/Library/LaunchAgents/.

Заменяет Time Machine?

Нет.

Заключение

NythyCleaner сочетает постоянные расписания, LaunchAgent каждые 4 ч, проверки каждые 30 мин при открытом приложении, требование Pro для авто и уведомления. Задайте интервал и категории, дайте первому успешному проходу подтвердить фоновое пробуждение — обслуживание пойдёт без опоры на память.