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 など)

設定はUserDefaultslastRunDate少なくとも1カテゴリ付きで完了した実行の後に更新され、次回の「期限」計算の基準になります。

実行が「期限」のとき

有効カテゴリが1つ以上、かつ前回なしまたは現在時刻 ≥ 前回 + 間隔

二段構え:バックグラウンド起動とアプリ内チェック

仕組み役割おおよその頻度
LaunchAgent~/Library/LaunchAgents/io.nythycleaner.scheduled-cleanup.plist/usr/bin/open -g -a NythyCleaner でアプリを開き、終了中でも自動処理を確認できる4時間ごと
アプリ内スケジューラNythyCleaner起動中、期限を確認30分ごと

4時間は「掃除の頻度」ではありません起こす間隔だけです。実際の頻度は選んだ毎日/毎週/毎月です。

LaunchAgentが入る条件

カレンダーが進む成功したスケジュール実行が少なくとも1回あるまで、エージェントを常設しない設計です(内部の同意フラグ)。機能オフならplistは削除されlaunchctlでunloadされます。

Proサブスクリプション

自動スケジュール実行には有効なProが必要です。検証に失敗すると実行はスキップ、機能はオフ、LaunchAgentは**同期(削除)**されます。

通知

自動実行完了後に通知(解放容量・問題の有無)。許可リクエストは未確定のときだけ。

重複実行

ゲートで同時に2本走らせません。

カテゴリの選び方

システムクリーンアップ系:キャッシュ、ログ、一時ファイル、ゴミ箱、ブラウザ、Xcode、Homebrew、各種開発キャッシュ、Docker、メール添付、Quick Look、アプリ状態、フォントキャッシュなど。

最初は少数からがおすすめです。

信頼性

  • カテゴリによってフルディスクアクセスが必要。
  • Macが十分起きていること。スリープが長いと次の起動まで待ちます。

FAQ

個人ファイルまで消す?

選んだカテゴリの範囲だけです。

なぜ4時間?

反応の速さと起動頻度のバランスです。

アンインストール時?

先にスケジュールをオフにするか、~/Library/LaunchAgents/io.nythycleaner.scheduled-cleanup.plistを削除。

Time Machineの代わり?

いいえ。

まとめ

NythyCleaner永続スケジュール4時間ごとのLaunchAgent、起動中30分ごとの確認自動実行のPro要件完了通知を組み合わせます。間隔とカテゴリを決め、最初の成功実行でバックグラウンド起動を認めれば、メンテは記憶に頼らず回ります。