Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ディレクトリのバックアップ

最終更新 Markdown で表示Agent セットアップ

バックアップと復元は、サンドボックスのディレクトリを R2 アーカイブにスナップショットし、あとからそのツリーを戻します。公開 API は本番と wrangler dev で同じです。復元の仕組みは異なります。

/workspace のようなプロジェクトディレクトリをあとから戻したいときに、バックアップを使います。/data のような別のストレージパスを、サンドボックスのファイルシステムとは独立して残したいときは、バケットマウント を使います。

本番の復元

本番では、restoreBackup() は squashfs アーカイブを FUSE overlayfs でマウントします。

  • バックアップは読み取り専用の下位レイヤーです。
  • 新しい書き込みは、書き込み可能な上位レイヤーに行きます。
  • R2 内の元のアーカイブは変わりません。
  • 同じハンドルで再度復元すると、上位レイヤーは破棄されます。

オーバーレイは、コンテナの実行中だけ存在します。サンドボックスがスリープするかコンテナが再起動すると、マウントはなくなり、ディレクトリは空になります。DirectoryBackup ハンドルを保存し、再度復元してください。

ローカルの復元

localBucket: true のとき、wrangler devunsquashfs でアーカイブを展開します。対象ディレクトリは置き換わります。オーバーレイはないため、ローカル復元は本番の FUSE 動作を再現しません。

デバイスをまたぐリネーム

overlayfs は、下位レイヤーと上位レイヤーを別デバイスとして扱います。復元した下位レイヤーから書き込み可能な上位レイヤーへディレクトリを移すリネームは、EXDEVcross-device link not permitted)で失敗することがあります。

Vite は node_modules/.vite/deps でこれを行います。そのディレクトリをバックアップから除外するか、復元後に削除してください。

手順は 生成キャッシュを除外する を参照してください。

関連リソース

役に立ちましたか?