# 【Dataverse】消えたら困るデータを、毎晩かってにバックアップさせる仕組みを作った話

- 公開日: 2026-07-05
- カテゴリ: Dataverse・Automate・BI
- 著者: tan（@kama_bizdev）
- URL: https://flow-with-tech.com/dataverse-nightly-backup/
- サイト: 改善紀 — 好奇心の赴くままに。

---

突然ですが、皆さんは自分の大切なデータ、**「これ消えたらどうしよう」**と思ったことはありませんか？

私はあります。

私は「週次らせん」という自作のアプリで、毎週の目標や振り返りを記録しています。データは Microsoft の Dataverse に貯めています。アプリケーションをCode Apps で開発して使っているからです。

クラウドに保存できるのはいいのですが、一応ローカルにも保存しておきたい。そしてClude Code からデータを参照して、壁打ち相手にもなってほしい。

そこで今回、この Dataverse のデータを**毎晩かってに手元とクラウドにバックアップしてくれる仕組み**を、Claude Code と一緒に作りました。この記事はその記録です。

## この記事を読んでわかること

- クラウド（Dataverse）にしかないデータを、毎晩自動でローカルに退避する考え方
- バックアップを「難しくしない」ための、ちょっとしたコツ3つ
- 「開発するパソコン」と「ずっと動かしっぱなしのパソコン」の役割分担のしかた

![](https://flow-with-tech.com/media/wp/2026/07/CleanShot-2026-07-05-at-13.38.40@2x.png)

https://twitter.com/kama_bizdev/status/2063065721450721428

## そもそもバックアップって、何をどうすればいいの？

正直に告白します。最初、私は**「バックアップ = とりあえずデータをコピーしておくこと」**くらいのフワッとした理解しかありませんでした。

でも Claude Code と話しながら整理していくと、やることは意外とシンプルで、要するにこの3つでした。

1. Dataverse から中身を**読み出して**、
2. 自分のパソコンの中に**ファイルとして保存して**、
3. ついでに**Google Drive にも置いておく**（クラウドが2箇所になって安心）

これを毎晩、私が寝ている間に自動でやってくれれば、最悪 Dataverse が消えても手元に写しが残る。そういう「保険」です。

言葉にすると簡単ですが、実際に作ると「あれ、これどうするんだ？」というポイントがいくつも出てきました。その中で**「これは他の人にも役立つな」と思った工夫を3つ**紹介します。

## 作ったものの全体像

先に完成形の絵を出しておきます。こんな感じです。

![](https://flow-with-tech.com/media/wp/2026/07/CleanShot-2026-07-05-at-12.15.14@2x.png)

やっていることは「倉庫から中身を持ってきて、手元とクラウドの2箇所に写しを置く」だけ。魔法はありません。ここからは、この中に隠れている**3つの工夫**を順番に見ていきます。

## 工夫①：写しは「今の状態」と「毎日の写真」の2枚撮る

最初、私は素朴に「データを1個コピーすればいいでしょ」と思っていました。でもここに落とし穴がありました。

週次らせんの「今週」のデータは、**月曜に目標を書いて、水曜に途中経過を足して、日曜に振り返りを書く**、という感じで**1週間かけて同じ場所を上書きしながら育てていく**んですね。

つまり、単純に「今のコピー」を1個だけ取ると、**「月曜の時点で何を書いていたか」が永遠に分からなくなる**。上書きされて消えているからです。

そこで、写しを2種類撮ることにしました。

- **① 今の状態**（`SQLite` というデータベースファイル1個。毎回まるごと最新に置き換え）
- **② 毎日の写真**（`2026-07-05.json` のように、日付をつけて毎日1枚ずつ貯めていく）

②のおかげで、後から「あー、水曜まで手つかずだったな…」みたいな**自分の1週間の変化**が見えるようになりました。これが日曜の振り返りのときに地味に効きます。

> **上書きされていくデータは、「今のコピー」だけだと歴史が死ぬ。日付つきの写真も撮っておくと、後から効いてくる。**

これ、Dataverse に限らず、日記アプリでも家計簿でも、**「同じ欄を更新していくタイプの記録」全般に言える教訓**だと思います。

## 工夫②：Google Drive は「置くだけ」でいい

2つ目。クラウド（Google Drive）にバックアップを送る部分です。

最初、私は身構えました。「Google Drive にアップロードするってことは、Google の API を叩いて、認証して、トークン管理して…うわ、面倒くさそう」と。（正直この時点で少しやる気が下がりました）

ところが Claude Code に相談したら、拍子抜けする答えが返ってきました。

**「パソコンの中の Google Drive フォルダにファイルを置くだけでいいですよ」**

そう、Google Drive のデスクトップアプリを入れていると、パソコンの中に「マイドライブ」というフォルダができますよね。**あそこにファイルをコピーして置くだけで、あとは Google が勝手にクラウドへ同期してくれる**んです。

```
① 私のプログラムがやること      ② Google Drive がやること
  ローカルの                    そのフォルダを見張って、
  マイドライブ/フォルダに   ──→   変わったら勝手にクラウドへ
  ファイルを置く                 アップロードしてくれる
```

つまり私が書くコードは**「ローカルのフォルダに保存する」ところで終わり**。認証もAPIキーもリトライ処理も、**全部 Google 側にお任せ**。これは楽でした。

> **クラウドへのバックアップは、同期フォルダに置くだけで済むことが多い。Dropbox でも OneDrive でも iCloud でも同じ発想が使えます。**

「難しそうなことを、そもそもやらなくて済む方法を探す」。これ、市民開発でめちゃくちゃ大事な発想だなと改めて思いました。

## 工夫③：「開発するパソコン」と「留守番するパソコン」を分ける

最後、これが今回いちばん頭を使ったところです。（Claude が）

「毎晩自動で動かす」ということは、私が寝ている間もずっと動いてくれるパソコンが要ります。私は **Mac mini** を1台、常時稼働の「留守番係」にしているので、こいつに任せることにしました。

ここで問題。**普段プログラムを書いているのは別のパソコン（MacBook）**なんです。書いたものを、どうやって Mac mini に届けるか。

最初は「ファイルを手でコピーして Mac mini に入れる」と考えていたのですが、それだと**「今、Mac mini にどのバージョンが入ってるんだっけ？」がすぐ分からなくなる**。ズレていく未来が見えました。

そこで採用したのが、**git（ギット）で1本化する**という方法です。プログラマーがよく使う「変更履歴を管理する仕組み」ですね。

- MacBook で書く → git に登録して送る（push）
- Mac mini で git から受け取る（pull）
- これで**両方がいつでも同じ状態**になる

「今 Mac mini で何が動いてる？」は、Mac mini で履歴を1行見れば分かる。**確認する仕組みを、わざわざ別に作らなくていい**わけです。

### ただし、これには1個だけ怖い落とし穴がある

正直に書きます。この「1本化」には危険が1つあります。

**私が MacBook で作業しかけの、壊れたプログラムをうっかり送ってしまったら → その夜、Mac mini が壊れたプログラムを動かしてしまう。**

これは怖い。そこで、境界線を1本引きました。

> **Mac mini が自動で動かしていいのは、「完成した道具」だけを置く専用フォルダの中身だけ。作りかけのものは絶対に自動実行させない。**

私のリポジトリでは、育って安定したツールは `studio` というフォルダに「昇格」させる運用にしています。**この昇格が、そのまま「Mac mini で動かしていいですよ」の許可証**になる、という位置づけにしました。作りかけのものは別のフォルダに置いておくので、間違って夜中に動くことはありません。

さらにもう1つ、シンプルなルールを足しました。

**「Mac mini は受け取るだけ（pull だけ）。こっちから送る（push）ことはしない」**

Mac mini の仕事は「プログラムを受け取って、データを読んで、バックアップを置く」だけ。**そもそも何かを送り返す必要がない**んです。だから「Mac mini がおかしなものを送ってきて、こっちのパソコンまで壊れる」という事故が、**仕組みとして起こりえない**状態にできました。

これで安心して夜、Mac mini に任せられます。

## で、実際どうなったか

セットアップを終えて、Mac mini で試しに1回動かしてみました。結果はこれ。

- ゴール 13件・週の記録 6週分を、無事にすべて取得
- 手元の SQLite・日付つき JSON・Google Drive の3箇所すべてにコピー成功
- しかも**私は何も操作していない（認証も自動で通った）**

そして今、**毎晩23時30分に、私が寝ている間にこの一連が自動で走る**ようになっています。翌朝フォルダを見て、その日の日付のファイルが増えていれば「昨日の夜もちゃんと働いてくれたな」と分かる。

大げさに聞こえるかもしれませんが、**「消えたら泣くデータ」が、気づいたら3箇所に増えている**という状態は、思った以上に心が軽くなりました。保険って、こういう安心感なんですね。

## まとめ

今回やったことを振り返ると、大事だったのは技術そのものより**考え方**でした。

- **写しは「今の状態」と「毎日の記録」を2枚撮る**（上書きされるデータは歴史が消えるから）
- **クラウド保存は「同期フォルダに置くだけ」で済ませる**（難しいことはそもそもやらない）
- **開発するパソコンと留守番パソコンを git で1本化しつつ、「完成品だけ自動実行」の境界を引く**

どれも「非IT の私」でも、Claude Code と壁打ちしながら1日で形にできました。**自分のデータを自分で守る**って、やってみると意外と手が届くところにあります。

実は私、この行動記録とは別に、**もう1つ Dataverse に「毎日の行動ログ」を4,600件ほど貯めている**んです。こっちのほうが正直よっぽど貴重で、消えたら悲しい。次はこいつも同じ方式でバックアップする予定です。

逸般の誤家庭の皆さん、ぜひ「消える前の保険」、考えてみてはいかがでしょうか。（なお、仕組みはまだ完全に理解できていません。やればやるほど、勉強リストが増えていく・・！）
