Mac miniで副業を自動化する完全ガイド|launchd + Pythonで24時間運用

Mac miniが副業の自動化サーバーに最適な理由 副業の自動化を本気でやるなら、24時間動くマシンが必要になる。 選択肢は3つ: クラウドVPS(AWS, ConoHa等)— 月3,000〜5,000円 Raspberry Pi — 安いが非力 Mac mini — 初期費用は高いが、1年で元が取れる 結論から言うと、Mac miniが最強のコスパだった。 Mac mini vs VPS コスト比較 項目 Mac mini M4 ConoHa VPS 初期費用 約84,800円 0円 月額 電気代約200円 約3,000円 1年間合計 約87,200円 約36,000円 2年間合計 約89,600円 約72,000円 3年間合計 約92,000円 約108,000円 3年目からMac miniの方が安くなる。しかも性能はMac miniの方が圧倒的に上。Apple SiliconでPythonもPlaywrightもサクサク動く。 launchdとは launchdはmacOS標準のジョブスケジューラ。Linuxのcronに相当するが、以下の点で優れている。 Mac起動時にジョブが自動復帰する 実行失敗時のリトライ機能がある システム標準なのでインストール不要 基本的なlaunchd設定 ステップ1:plistファイルを作成 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.example.my-job</string> <key>ProgramArguments</key> <array> <string>/usr/bin/python3</string> <string>/path/to/script.py</string> </array> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>8</integer> <key>Minute</key> <integer>0</integer> </dict> <key>StandardOutPath</key> <string>/path/to/logs/output.log</string> <key>StandardErrorPath</key> <string>/path/to/logs/error.log</string> </dict> </plist> ステップ2:インストール cp com.example.my-job.plist ~/Library/LaunchAgents/ launchctl load ~/Library/LaunchAgents/com.example.my-job.plist ステップ3:動作確認 launchctl list | grep com.example 副業自動化の具体例 例1:毎朝6時にブログ記事を自動生成 Pythonで記事を生成し、Hugoでビルドして、Cloudflare Pagesにデプロイ。 ...

February 23, 2026 · 1 分 · 自動化ラボ
【完全ガイド】macOS launchd でスクリプトを自動実行する方法

【完全ガイド】macOS launchd でスクリプトを自動実行する方法

PR表記: 当記事にはアフィリエイトリンクが含まれます。商品の購入は自己判断でお願いします。 macOSでスクリプトを定期実行したい場合、launchdが標準的な方法です。Linuxのcronに相当する仕組みですが、macOSではlaunchdの利用が推奨されています。この記事では、plistファイルの書き方からデバッグまで、実用的な内容を解説します。 launchdとは launchdはmacOSのプロセス管理デーモンです。OS起動時にサービスを立ち上げたり、指定した時刻にスクリプトを実行したりできます。 plist(Property List)ファイルに設定を書き、~/Library/LaunchAgents/ に配置することで、ユーザーレベルのジョブを登録できます。 cronとの違い 項目 cron launchd macOS推奨 非推奨 推奨 スリープ復帰後 実行されない 実行される ログ管理 自分で設定 標準で対応 設定形式 crontab plist (XML) launchdの大きなメリットは、Macがスリープしていて実行タイミングを逃した場合でも、復帰後に実行してくれる点です。 基本的なplistの書き方 例: 毎日9時にPythonスクリプトを実行 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.example.daily-script</string> <key>ProgramArguments</key> <array> <string>/usr/bin/python3</string> <string>/Users/yourname/scripts/daily_task.py</string> </array> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>9</integer> <key>Minute</key> <integer>0</integer> </dict> <key>StandardOutPath</key> <string>/tmp/daily-script-out.log</string> <key>StandardErrorPath</key> <string>/tmp/daily-script-err.log</string> <key>WorkingDirectory</key> <string>/Users/yourname/scripts</string> </dict> </plist> 各キーの説明 Label: ジョブの一意な識別子。逆ドメイン形式が慣例 ProgramArguments: 実行するコマンドと引数を配列で指定 StartCalendarInterval: 実行タイミング(時刻指定) StandardOutPath / StandardErrorPath: ログの出力先 WorkingDirectory: スクリプト実行時の作業ディレクトリ plistの配置と登録 1. ファイルを配置 cp com.example.daily-script.plist ~/Library/LaunchAgents/ 2. ジョブを登録 launchctl load ~/Library/LaunchAgents/com.example.daily-script.plist 3. 即時実行でテスト launchctl start com.example.daily-script 4. ジョブを停止・削除 launchctl unload ~/Library/LaunchAgents/com.example.daily-script.plist 実践例: 定期バックアップスクリプト 特定のフォルダを毎日23時にバックアップするスクリプトの例です。 ...

February 22, 2026 · 2 分 · ぷーた