表示言語の切り替え

Topics

microCMSのバックアップ機能を作ってみた話

  • column

こんにちは、リベロジックでCTOをしている大塚です。

記事をなんとか!と言われても、あまり書くことがないので、今日はちょっと昔の話を。

実は 1年以上前 に、microCMS のバックアップ仕組みを社内で作っていました。

microCMSはデータ保全のためのバックアップはあるのですが、管理画面から過去のデータを取得することは出来ません。操作ミスによるデータ削除の対策として「じゃあ作っちゃえ」というノリで始めたものです。

仕組みのざっくり紹介

  • Cloudflare Workersでバックアップするプログラムを作成
  • マニュアル or CRON で起動
  • endpoint + id + revisedAt でユニーク性を担保
  • データは重複せずスナップショット管理
  • メディアファイルもまとめて保存

保存先は、記事は Cloudflare D1、メディアファイルは Cloudflare R2。

記事データも画像もまとめてバックアップしておけます。

復旧まで考えた仕組み

バックアップって「取る」だけじゃなくて、いざというときに戻せることが重要です。
「昨日の状態に戻したい」「誤って消した記事を復元したい」
そんなケースでも対応できるようにしておくと、運用時の安心感が違いますよね。

まとめ

  • microCMSのバックアップをする仕組みを Cloudflare 環境で構築
  • 記事、コンテンツをまとめて保存してスナップショット管理
  • 復旧まで含めて安心できる仕組みに

こういう「自分たちが欲しいから作った仕組み」って、意外と実務では一番役立つんですよね。

ではでは。

この記事を書いた人

リベロジック技術部門の屋台骨。「こんなものが欲しいなぁ、あったら便利だよなぁ〜」という言葉を聞くと、持ち前の知恵で付加価値までつけて、あっという間に実装。コミュ力が高くお客様にファンも多い弊社の宝、そして猫大好き人間。

翔さん

取締役CTO / チーフエンジニア / 合同会社猫穴代表 / 無駄に若く見える

安心のチーム体制とスピードのある対応力が自慢

リベロジックでは、ベテランスタッフが積極的にプロジェクトを推進するため、お客様から高く評価されています。
プロジェクトマネージャー、ディレクターをきちんとアサインし、プロジェクト全体をスムーズに進行することを心掛けています。 不必要なフルコミットでのコスト増加を防ぎ、適材適所にリソースを配分するスタイルで、業務内容の把握から見積作成/提出の速さにも定評があります。

当社はSES的な常駐業務等は積極的に行っておりませんので予めご了承ください。

Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webexなど、ほぼすべての主要なプロジェクト管理ツールやチャットツールをご利用いただけます。

大袈裟なインフラ構成とセキュリティ対応で損してませんか?WordPressで不安になりませんか?

ケーススタディ