NythyCleaner
← 블로그

예약 작업으로 Mac 정리 자동화하는 방법

10 분 소요
#scheduled-cleanup#macos#automation#launchd#maintenance#pro

예약 작업으로 Mac 정리 자동화하는 방법

Mac 관리는 미루기 쉽습니다. 캐시는 쌓이고, 오래된 다운로드와 개발 폴더는 수십 GB를 차지하는데 매주 클리너 앱을 여는 습관은 잘 안 생깁니다.

예약 정리는 유지보수를 한 번 설정해 두면 반복되는 작업으로 바꿉니다. NythyCleaner는 같은 카테고리를 매일·매주·격주·매월 실행하고, 앱을 종료했어도 백그라운드에서 깨워 확인하며, 끝나면 알림할 수 있습니다.

자동화하는 이유

  • 캐시와 임시 파일은 다시 생깁니다. 일정으로 규모를 제한할 수 있습니다.
  • 개발용 Mac(DerivedData, 패키지 매니저, Docker)은 정기 실행 효과가 큽니다.
  • 예측 가능한 주기로 마감 직전 «디스크 풀»을 줄입니다.

신중하게: 이해하는 카테고리만 선택하세요. 전체 디스크 접근이 필요할 수 있습니다.

macOS만으로

macOS에는 «매주 일요일 캐시 삭제» 같은 단순 스위치가 없습니다. 셸, launchd, 단축어는 가능하지만 경로·권한은 직접 관리합니다.

NythyCleaner 같은 앱은 예약 실행 + launchd정리된 카테고리와 기존 정리 엔진으로 감쌉니다.

NythyCleaner 동작

예약 정리에서 선택합니다.

  1. 켜기/끄기
  2. 간격: 매일, 매주, 격주, 매월(구현상 약 30일)
  3. 카테고리(사용자 캐시, 로그, 휴지통, 브라우저, Xcode, Homebrew, npm/pip, Docker 등)

설정은 UserDefaults에 저장되고, **lastRunDate**는 최소 한 카테고리가 포함된 완료 실행 후 갱신되어 다음 «만기」 계산에 씁니다.

실행이 «만기」일 때

켜짐, 카테고리 1개 이상, 그리고 이전 실행 없음 또는 지금 ≥ 마지막 실행 + 간격.

두 단계: 백그라운드 깨우기와 앱 내 확인

메커니즘역할대략적 빈도
LaunchAgent (~/Library/LaunchAgents/io.nythycleaner.scheduled-cleanup.plist)/usr/bin/open -g -a NythyCleaner로 앱을 열어 종료 상태에서도 자동화 확인4시간마다
앱 내 스케줄러NythyCleaner가 열려 있을 때 만기 확인30분마다

4시간은 «정리 빈도»가 아닙니다. 깨우는 주기일 뿐입니다. 실제 빈도는 선택한 매일/매주/매월입니다.

LaunchAgent 설치 시점

일정이 진행되는 성공적인 예약 실행이 최소 한 번 있어야 에이전트를 유지합니다(내부 동의 플래그). 기능을 끄면 plist는 제거되고 launchctl로 unload됩니다.

Pro 구독

자동 예약 실행에는 유효한 Pro가 필요합니다. 검증 실패 시 실행은 건너뛰고, 기능은 끄며, LaunchAgent는 **동기화(삭제)**됩니다.

알림

자동 실행 완료 후 macOS 알림(확보된 용량, 문제). 권한 요청은 미결정일 때만.

동시 실행

게이트로 두 번 동시에 돌지 않습니다.

카테고리 선택

시스템 정리 스타일: 캐시, 로그, 임시 파일, 휴지통, 브라우저, Xcode, Homebrew, 각종 개발 캐시, Docker, Mail 첨부, Quick Look, 앱 상태, 글꼴 캐시 등.

처음에는 소수부터 권장합니다.

안정성

  • 일부 카테고리는 전체 디스크 접근 필요.
  • Mac이 충분히 깨어 있어야 launchd가 앱을 엽니다.

FAQ

개인 문서도 지우나요?

선택한 카테고리 범위만입니다.

왜 4시간?

반응 속도와 실행 빈도의 절충입니다.

제거 시?

먼저 예약 정리를 끄거나 ~/Library/LaunchAgents/io.nythycleaner.scheduled-cleanup.plist를 삭제하세요.

Time Machine 대체?

아닙니다.

마무리

NythyCleaner영구 일정, 4시간마다 LaunchAgent, 실행 중 30분마다 확인, 자동 실행 Pro 요구, 완료 알림을 묶습니다. 간격과 카테고리를 정하고 첫 성공 실행으로 백그라운드 깨우기를 승인하면 유지보수가 기억에 덜 의존합니다.