> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI でスナップショットを作成・復元する

> squarecloud app snapshot と squarecloud db snapshot で、Square Cloud のアプリケーションとデータベースのスナップショットを作成、ダウンロード、一覧表示、復元します。

スナップショットは、アプリケーションのファイルまたはデータベースのデータのバックアップです。`squarecloud app snapshot` と `squarecloud db snapshot` は同じように動作します。`create` で作成し、`list` で保存済みのものを表示し、`restore` で復元します。

`create` では、アプリ ID は省略できます。[CLI がアプリを特定する仕組み](/ja/cli-reference/quickstart#cli-がアプリを特定する仕組み)を参照してください。データベース ID も省略でき、その場合 CLI はデータベースの選択画面を開きます。

## `squarecloud app snapshot create`

```bash 使い方 theme={"system"}
squarecloud app snapshot create [appID] [--download]
```

| フラグ | 説明 |
| - | - |
| `--download` | ダウンロードリンクを表示する代わりに、スナップショットを現在のフォルダに `Square Cloud - Snapshot <date> <time>.zip` として保存します。 |

```bash theme={"system"}
squarecloud app snapshot create --download
```

```bash 出力 theme={"system"}
✓ Your snapshot was created. Download it at:
  <download link>
```

大きなアプリケーションでは、コマンドが終了した時点でスナップショットがまだ生成中の場合があります。その場合は CLI がその旨を表示し、数分後に `snapshot list` に表示されます。ダウンロードしたファイルは本人だけが読み取れる権限（0600）で保存され、`--download` が失敗した場合は途中まで書き込まれたファイルが削除されます。

## `squarecloud app snapshot list`

```bash 使い方 theme={"system"}
squarecloud app snapshot list [snapshotID] [--json]
```

引数なしで実行すると、アプリケーションのスナップショットごとに 1 行ずつ、スナップショット ID、バージョン数、合計サイズ、最終更新日時を表示します。最近のスナップショット ID は、アプリケーション ID で始まり、`_javascript_manual` のようなタグで終わります。

この一覧のスナップショット ID を渡すと、そのバージョンと、`restore` に必要な**バージョン ID** が表示されます。

```bash theme={"system"}
squarecloud app snapshot list <snapshotID>
# One row per version: snapshot ID, version ID, size, last update.
```

`--json` を付けた場合も、同じ絞り込みが適用されます。スナップショットの一覧表示には有効なプランが必要です。

## `squarecloud app snapshot restore`

```bash 使い方 theme={"system"}
squarecloud app snapshot restore <appID> <snapshotID> <versionID> [-y]
```

| フラグ | 説明 |
| - | - |
| `-y`、`--yes` | 確認プロンプトをスキップします。 |

アプリケーションの現在のファイルを、スナップショットのバージョンで置き換えます。`<snapshotID>` と `<versionID>` は [`app snapshot list`](#squarecloud-app-snapshot-list) で確認してください。実行前に `y/N` の確認があります。

```bash 出力 theme={"system"}
✓ Restore started successfully
```

## `squarecloud db snapshot create`

```bash 使い方 theme={"system"}
squarecloud db snapshot create [dbID] [--download]
```

| フラグ | 説明 |
| - | - |
| `--download` | ダウンロードリンクを表示する代わりに、スナップショットを現在のフォルダに `Square Cloud - DB Snapshot <date> <time>.zip` として保存します。 |

データベースを対象に、`app snapshot create` と同じように動作します。

## `squarecloud db snapshot list`

```bash 使い方 theme={"system"}
squarecloud db snapshot list [snapshotID] [--json]
```

引数なしで実行すると、データベースのスナップショットごとに 1 行ずつ表示します。スナップショット ID を渡すと、バージョンごとに 1 行ずつ、`restore` に渡すバージョン ID とともに表示します。

## `squarecloud db snapshot restore`

```bash 使い方 theme={"system"}
squarecloud db snapshot restore <dbID> <snapshotID> <versionID> [-y]
```

| フラグ | 説明 |
| - | - |
| `-y`、`--yes` | 確認プロンプトをスキップします。 |

`y/N` の確認のあと、データベースの現在のデータをスナップショットのバージョンで置き換えます。

## 関連項目

| コマンド | API | JavaScript SDK | VS Code |
| - | - | - | - |
| `app snapshot create` | [`POST .../snapshots`](/ja/api-reference/endpoint/apps/snapshots/create) | [`api.apps.snapshots.create()`](/ja/sdks/js/snapshots) | [スナップショットをダウンロード](/ja/vscode-extension/features#アプリケーション) |
| `app snapshot list` | [`GET /v2/users/snapshots`](/ja/api-reference/endpoint/users/snapshots) | [`api.account.snapshots()`](/ja/sdks/js/client) | [スナップショットを復元](/ja/vscode-extension/features#アプリケーション) |
| `app snapshot restore` | [`POST .../snapshots/restore`](/ja/api-reference/endpoint/apps/snapshots/restore) | [`api.apps.snapshots.restore()`](/ja/sdks/js/snapshots) | [スナップショットを復元](/ja/vscode-extension/features#アプリケーション) |
| `db snapshot create` | [`POST .../snapshots`](/ja/api-reference/endpoint/databases/snapshots/create) | [`api.databases.snapshots.create()`](/ja/sdks/js/snapshots) | |
| `db snapshot list` | [`GET /v2/users/snapshots`](/ja/api-reference/endpoint/users/snapshots) | [`api.account.snapshots()`](/ja/sdks/js/client) | |
| `db snapshot restore` | [`POST .../snapshots/restore`](/ja/api-reference/endpoint/databases/snapshots/restore) | [`api.databases.snapshots.restore()`](/ja/sdks/js/snapshots) | |
