※本記事にはアフィリエイトリンクが含まれます
毎朝決まった時間にスクリプトを動かしたい時、cron より launchd を使う方が Mac には自然です。結論として、Mac で「毎朝9時に Claude API で原稿を生成して WordPress に下書き投稿する」のような定期処理は、launchd + シェルスクリプトだけで完結します。本記事では、その仕組みを構築する手順を紹介します。
結論: 構成図
毎朝9:00
↓ launchd が起動
↓
シェルスクリプト
├── Claude API で記事生成
├── 画像生成(Flux.1 など)
└── WordPress REST API で下書き投稿
↓
Slack / メールで通知
STEP1: シェルスクリプトを書く
~/blog-auto/run.sh を作成:
#!/bin/bash
set -e
cd "$HOME/blog-auto"
# 環境変数読み込み
source .env
# 記事生成(Claude API を curl で呼ぶ)
RESPONSE=$(curl -s https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d "$(cat prompt.json)")
# WordPress に下書き投稿
echo "$RESPONSE" | jq -r '.content[0].text' > article.md
python3 post_to_wp.py article.md
権限を実行可能にします:
chmod +x ~/blog-auto/run.sh
STEP2: launchd の plist を作る
~/Library/LaunchAgents/com.knowkoto.daily.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.knowkoto.daily</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/Users/your-username/blog-auto/run.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>9</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/Users/your-username/blog-auto/log.txt</string>
<key>StandardErrorPath</key>
<string>/Users/your-username/blog-auto/error.log</string>
</dict>
</plist>
STEP3: launchd に読み込ませる
launchctl load ~/Library/LaunchAgents/com.knowkoto.daily.plist
launchctl start com.knowkoto.daily # 動作テスト
解除するには launchctl unload。設定変更時は unload → load の順で。
注意: Mac がスリープしていると動かない
Mac のスリープ中は launchd が起動できません。対策:
- pmset を使って自動起動:
sudo pmset repeat wakeorpoweron MTWRFSU 08:55:00で毎日 8:55 にスリープ解除 - Mac mini を24時間稼働: 自宅サーバー化、消費電力 月¥200程度
- クラウドに移植: GitHub Actions の cron で同じスクリプトを動かす(無料枠で十分)
1記事あたりのコスト
| 項目 | コスト |
|---|---|
| Claude API(3,000字記事) | 約 ¥8〜15 |
| 画像生成(Flux.1 schnell) | 約 ¥0.5 |
| WordPress REST API | 無料 |
| 1記事合計 | 約 ¥10〜20 |
月30記事生成しても ¥600 以内。サーバー代より安いです。
完全自動公開は危険
「投稿まで自動化」ではなく「下書きまで自動化」がおすすめです。Google の Helpful Content System は、無編集の AI 量産記事を検出して圏外に飛ばします。生成後の5分チェック+人間の手による加筆が、SEO と読者信頼の両方に必須です。
クラウド移行(発展編)
Mac に依存しない構成にするなら:
- GitHub Actions:無料枠2,000分/月、cron 表記で簡単
- AWS EventBridge + Lambda:本格運用向け
- Cloud Functions:GCP 統合派向け
まとめ
Mac の launchd は、定期処理の最初の選択肢として最適です。サーバーを立てずに、API を組み合わせて毎朝のタスクを自動化できます。本格化したらクラウドに移行する道筋もスムーズです。

