Как автоматизировать очистку Mac по расписанию
Как автоматизировать очистку Mac по расписанию
Обслуживание Mac легко откладывается. Кеши растут, старые загрузки копятся, папки разработки занимают десятки гигабайт — без привычки редко открывают чистильщик каждую неделю.
Запланированная очистка превращает обслуживание в повторяющуюся задачу, которую настраиваете один раз. NythyCleaner может выполнять те же категории ежедневно, еженедельно, раз в две недели или ежемесячно, будить приложение в фоне, даже если оно закрыто, и уведомлять по завершении.
Зачем автоматизировать
- Кеши и временные файлы возвращаются сами; расписание удерживает их в рамках.
- Машины разработчиков (DerivedData, менеджеры пакетов, Docker) выигрывают от регулярных проходов.
- Предсказуемый график снижает риск «диск заполнен» перед дедлайном.
Будьте осторожны: отмечайте только понятные категории; может понадобиться полный доступ к диску.
Что даёт сам macOS
В macOS нет простого «чистить кеши каждое воскресенье». Скрипты, plist launchd или «Команды» возможны, но пути и права поддерживаете вы.
Приложения вроде NythyCleaner оборачивают запуск по расписанию + launchd в готовые категории и существующие движки очистки.
Как работает запланированная очистка в NythyCleaner
В разделе Запланированная очистка вы выбираете:
- Вкл/выкл
- Интервал: ежедневно, еженедельно, раз в две недели или ежемесячно (~30 суток в реализации)
- Категории (кеши пользователя, логи, корзина, браузеры, 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 для авто и уведомления. Задайте интервал и категории, дайте первому успешному проходу подтвердить фоновое пробуждение — обслуживание пойдёт без опоры на память.