自動化ラボ

Mac・Python・n8nで日常業務を自動化する実験記録。コピペで使えるコード付き。

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 分 · 自動化ラボ
【入門】n8n でノーコード自動化ワークフローを作る方法

【入門】n8n でノーコード自動化ワークフローを作る方法

PR表記: 当記事にはアフィリエイトリンクが含まれます。商品の購入は自己判断でお願いします。 n8nは、オープンソースのワークフロー自動化ツールです。ZapierやMake(旧Integromat)に近い機能を、セルフホスト(自分のサーバーで運用)できるのが特徴です。この記事では、ローカル環境へのセットアップから基本的なワークフロー構築までを解説します。 n8nとは n8nは「nodemation」の略で、ノードベースのビジュアルワークフローを構築できるツールです。 主な特徴は以下の通り。 オープンソース: ソースコードが公開されており、セルフホスト可能 400以上の連携先: Slack、Gmail、Google Sheets、GitHub、Notion、Discord など ビジュアルエディタ: ドラッグ&ドロップでワークフローを構築 コード実行: JavaScriptやPythonのコードノードも使える セルフホスト: 自分のサーバーで動かせるため、データが外部に出ない 他のツールとの比較 項目 n8n Zapier Make 料金 セルフホスト無料 / クラウド版有料 有料(無料枠あり) 有料(無料枠あり) セルフホスト 可能 不可 不可 ノード数 400+ 7000+ 1800+ コード実行 JS / Python 限定的 限定的 オープンソース はい いいえ いいえ n8nの強みは、セルフホストによるデータプライバシーの確保と、コードノードによる柔軟なカスタマイズです。 ローカル環境へのセットアップ 方法1: Dockerで起動(推奨) docker run -d \ --name n8n \ -p 5678:5678 \ -v n8n_data:/home/node/.n8n \ n8nio/n8n 起動後、http://localhost:5678 にアクセスするとn8nのエディタが開きます。 方法2: npmで直接インストール npm install -g n8n n8n start Node.js 18以上が必要です。 ...

February 22, 2026 · 2 分 · ぷーた
【初心者向け】Pythonで日常業務を自動化する方法|コピペで使えるコード集

【初心者向け】Pythonで日常業務を自動化する方法|コピペで使えるコード集

PR表記: 当記事にはアフィリエイトリンクが含まれます。商品の購入は自己判断でお願いします。 「Pythonで自動化したいけど、何から始めればいいかわからない」という方向けに、すぐに使える実践的なコード例を紹介します。ファイル整理、Excel操作、Web情報取得など、日常業務でよくあるタスクを取り上げます。 前提: Python環境の準備 Python 3.9以上が必要です。macOSの場合は以下でインストールできます。 # Homebrewでインストール brew install python # バージョン確認 python3 --version Windowsの場合はpython.orgからインストーラーをダウンロードしてください。 1. ファイルの自動整理 ダウンロードフォルダの中身を拡張子ごとに分類するスクリプトです。 from pathlib import Path import shutil def organize_downloads(): """ダウンロードフォルダを拡張子別に整理する""" downloads = Path.home() / "Downloads" # 拡張子とフォルダ名の対応 categories = { "images": [".jpg", ".jpeg", ".png", ".gif", ".webp"], "documents": [".pdf", ".doc", ".docx", ".txt", ".csv"], "videos": [".mp4", ".mov", ".avi", ".mkv"], "archives": [".zip", ".tar", ".gz", ".rar"], } moved_count = 0 for file in downloads.iterdir(): if not file.is_file(): continue suffix = file.suffix.lower() for folder_name, extensions in categories.items(): if suffix in extensions: dest_dir = downloads / folder_name dest_dir.mkdir(exist_ok=True) shutil.move(str(file), str(dest_dir / file.name)) moved_count += 1 print(f"移動: {file.name} -> {folder_name}/") break print(f"\n完了: {moved_count}件のファイルを整理しました") if __name__ == "__main__": organize_downloads() 2. Excelファイルの自動処理 openpyxlを使ったExcelファイルの読み書きです。 ...

February 22, 2026 · 2 分 · ぷーた
【完全ガイド】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 分 · ぷーた