🛠️ OdooバックアップStrategy
Odoo(統合業務システム)のデータベースや関連ファイルを
📺 まず動画で見る(YouTube)
▶ 【衝撃】最強のAIエージェント「Claude Code」の最新機能・使い方・プログラミングをAIで効率化する超実践術を解説! ↗
※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。
📜 元の英語説明(参考)
Complete Odoo backup and restore strategy: database dumps, filestore backup, automated scheduling, cloud storage upload, and tested restore procedures.
🇯🇵 日本人クリエイター向け解説
Odoo(統合業務システム)のデータベースや関連ファイルを
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o odoo-backup-strategy.zip https://jpskill.com/download/3231.zip && unzip -o odoo-backup-strategy.zip && rm odoo-backup-strategy.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/3231.zip -OutFile "$d\odoo-backup-strategy.zip"; Expand-Archive "$d\odoo-backup-strategy.zip" -DestinationPath $d -Force; ri "$d\odoo-backup-strategy.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
odoo-backup-strategy.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
odoo-backup-strategyフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
💬 こう話しかけるだけ — サンプルプロンプト
- › Odoo Backup Strategy を使って、最小構成のサンプルコードを示して
- › Odoo Backup Strategy の主な使い方と注意点を教えて
- › Odoo Backup Strategy を既存プロジェクトに組み込む方法を教えて
これをClaude Code に貼るだけで、このSkillが自動発動します。
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] odoo-backup-strategy
Odoo バックアップ戦略
概要
完全な Odoo バックアップには、PostgreSQL データベースとファイルストア(添付ファイル、画像)の両方が含まれている必要があります。このスキルでは、手動および自動のバックアップ手順、オフサイトストレージ、およびダウンした Odoo インスタンスをオンラインに戻すための正しい復元シーケンスについて説明します。
このスキルを使用するタイミング
- 本番 Odoo インスタンスのバックアップ戦略をセットアップする場合。
- シェルスクリプトと cron を使用して日次バックアップを自動化する場合。
- サーバー障害またはデータ破損イベント後に Odoo を復元する場合。
- 失敗したバックアップまたは破損した復元を診断する場合。
仕組み
- アクティベート:
@odoo-backup-strategyをメンションし、サーバー環境を記述してください。 - 生成: セットアップに合わせた完全なバックアップスクリプトを受け取ります。
- 復元: あらゆる障害シナリオに対応する段階的な復元手順を入手します。
例
例 1: 手動データベース + ファイルストアのバックアップ
#!/bin/bash
# backup_odoo.sh
DATE=$(date +%Y%m%d_%H%M%S)
DB_NAME="odoo"
DB_USER="odoo"
FILESTORE_PATH="/var/lib/odoo/.local/share/Odoo/filestore/$DB_NAME"
BACKUP_DIR="/backups/odoo"
mkdir -p "$BACKUP_DIR"
# Step 1: Dump the database
pg_dump -U $DB_USER -Fc $DB_NAME > "$BACKUP_DIR/db_$DATE.dump"
# Step 2: Archive the filestore
tar -czf "$BACKUP_DIR/filestore_$DATE.tar.gz" -C "$FILESTORE_PATH" .
echo "✅ Backup complete: db_$DATE.dump + filestore_$DATE.tar.gz"
例 2: Cron で自動化 (毎日午前 2 時)
# Run: crontab -e
# Add this line:
0 2 * * * /opt/scripts/backup_odoo.sh >> /var/log/odoo_backup.log 2>&1
例 3: S3 へのアップロード (バックアップ後)
# Add to backup script after tar command:
aws s3 cp "$BACKUP_DIR/db_$DATE.dump" s3://my-odoo-backups/db/
aws s3 cp "$BACKUP_DIR/filestore_$DATE.tar.gz" s3://my-odoo-backups/filestore/
# Optional: Delete local backups older than 7 days
find "$BACKUP_DIR" -type f -mtime +7 -delete
例 4: 完全な復元手順
# Step 1: Stop Odoo
docker compose stop odoo # or: systemctl stop odoo
# Step 2: Recreate and restore the database
# (--clean alone fails if the DB doesn't exist; drop and recreate first)
dropdb -U odoo odoo 2>/dev/null || true
createdb -U odoo odoo
pg_restore -U odoo -d odoo db_YYYYMMDD_HHMMSS.dump
# Step 3: Restore the filestore
FILESTORE=/var/lib/odoo/.local/share/Odoo/filestore/odoo
rm -rf "$FILESTORE"/*
tar -xzf filestore_YYYYMMDD_HHMMSS.tar.gz -C "$FILESTORE"/
# Step 4: Restart Odoo
docker compose start odoo
# Step 5: Verify — open Odoo in the browser and check:
# - Can you log in?
# - Are recent records visible?
# - Are file attachments loading?
ベストプラクティス
- ✅ 実行すべきこと: ステージング環境で毎月復元をテストしてください。一度も復元したことのないバックアップはバックアップではありません。
- ✅ 実行すべきこと: 3-2-1 ルールに従ってください: 3 つのコピー、2 種類の異なるメディアタイプ、1 つのオフサイトコピー(例: S3 またはリモートサーバー)。
- ✅ 実行すべきこと: すべての Odoo アップグレードの直前にバックアップしてください。これがロールバックポイントになります。
- ✅ 実行すべきこと: バックアップの整合性を確認してください:
pg_restore --list backup.dumpがエラーなしで完了するはずです。 - ❌ 実行すべきでないこと: ファイルストアなしでデータベースのみをバックアップしないでください。復元後にすべての添付ファイルと画像が失われます。
- ❌ 実行すべきでないこと: バックアップを Odoo と同じディスクまたは同じサーバーに保存しないでください。ディスクまたはサーバーの障害が発生すると、両方が破壊されます。
- ❌ 実行すべきでないこと: 存在しないデータベースに対して
pg_restore --cleanを実行しないでください。常に最初にデータベースを作成してください。
制限事項
- Odoo.sh の組み込みバックアップは対象外です。Odoo.sh にはダッシュボードからアクセスできる独自のバックアップシステムがあります。
- このスクリプトは単一データベースの Odoo セットアップを想定しています。複数データベースのインスタンスでは、すべてのデータベースをループ処理する必要があります。
- ファイルストアのパスはインストールによって異なる場合があります(Docker ボリュームとベアメタルなど)。復元を実行する前に、
odoo-bin shellで必ずパスを確認してください。 - 大規模なファイルストア(100GB 以上)では、完全な
tar.gzアーカイブではなく、rsyncやresticのような増分バックアップツールが必要になる場合があります。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Odoo Backup Strategy
Overview
A complete Odoo backup must include both the PostgreSQL database and the filestore (attachments, images). This skill covers manual and automated backup procedures, offsite storage, and the correct restore sequence to bring a down Odoo instance back online.
When to Use This Skill
- Setting up a backup strategy for a production Odoo instance.
- Automating daily backups with shell scripts and cron.
- Restoring Odoo after a server failure or data corruption event.
- Diagnosing a failed backup or corrupt restore.
How It Works
- Activate: Mention
@odoo-backup-strategyand describe your server environment. - Generate: Receive a complete backup script tailored to your setup.
- Restore: Get step-by-step restore instructions for any failure scenario.
Examples
Example 1: Manual Database + Filestore Backup
#!/bin/bash
# backup_odoo.sh
DATE=$(date +%Y%m%d_%H%M%S)
DB_NAME="odoo"
DB_USER="odoo"
FILESTORE_PATH="/var/lib/odoo/.local/share/Odoo/filestore/$DB_NAME"
BACKUP_DIR="/backups/odoo"
mkdir -p "$BACKUP_DIR"
# Step 1: Dump the database
pg_dump -U $DB_USER -Fc $DB_NAME > "$BACKUP_DIR/db_$DATE.dump"
# Step 2: Archive the filestore
tar -czf "$BACKUP_DIR/filestore_$DATE.tar.gz" -C "$FILESTORE_PATH" .
echo "✅ Backup complete: db_$DATE.dump + filestore_$DATE.tar.gz"
Example 2: Automate with Cron (daily at 2 AM)
# Run: crontab -e
# Add this line:
0 2 * * * /opt/scripts/backup_odoo.sh >> /var/log/odoo_backup.log 2>&1
Example 3: Upload to S3 (after backup)
# Add to backup script after tar command:
aws s3 cp "$BACKUP_DIR/db_$DATE.dump" s3://my-odoo-backups/db/
aws s3 cp "$BACKUP_DIR/filestore_$DATE.tar.gz" s3://my-odoo-backups/filestore/
# Optional: Delete local backups older than 7 days
find "$BACKUP_DIR" -type f -mtime +7 -delete
Example 4: Full Restore Procedure
# Step 1: Stop Odoo
docker compose stop odoo # or: systemctl stop odoo
# Step 2: Recreate and restore the database
# (--clean alone fails if the DB doesn't exist; drop and recreate first)
dropdb -U odoo odoo 2>/dev/null || true
createdb -U odoo odoo
pg_restore -U odoo -d odoo db_YYYYMMDD_HHMMSS.dump
# Step 3: Restore the filestore
FILESTORE=/var/lib/odoo/.local/share/Odoo/filestore/odoo
rm -rf "$FILESTORE"/*
tar -xzf filestore_YYYYMMDD_HHMMSS.tar.gz -C "$FILESTORE"/
# Step 4: Restart Odoo
docker compose start odoo
# Step 5: Verify — open Odoo in the browser and check:
# - Can you log in?
# - Are recent records visible?
# - Are file attachments loading?
Best Practices
- ✅ Do: Test restores monthly in a staging environment — a backup you've never restored is not a backup.
- ✅ Do: Follow the 3-2-1 rule: 3 copies, 2 different media types, 1 offsite copy (e.g., S3 or a remote server).
- ✅ Do: Back up immediately before every Odoo upgrade — this is your rollback point.
- ✅ Do: Verify backup integrity:
pg_restore --list backup.dumpshould complete without errors. - ❌ Don't: Back up only the database without the filestore — all attachments and images will be missing after a restore.
- ❌ Don't: Store backups on the same disk or same server as Odoo — a disk or server failure destroys both.
- ❌ Don't: Run
pg_restore --cleanagainst a non-existent database — always create the database first.
Limitations
- Does not cover Odoo.sh built-in backups — Odoo.sh has its own backup system accessible from the dashboard.
- This script assumes a single-database Odoo setup. Multi-database instances require looping over all databases.
- Filestore path may differ between installations (Docker volume vs. bare-metal). Always verify the path with
odoo-bin shellbefore running a restore. - Large filestores (100GB+) may require incremental backup tools like
rsyncorresticrather than fulltar.gzarchives.