kBackupでkintoneレコード自動バックアップ

kintoneのレコードをうっかり削除してしまった・・・

すぐに復元できると思っていたら大間違いです 笑

サイボウズ データバックアップの考え方

サイボウズでは、災害や障害などの万が一の事態に備えて、毎日お客様のデータをバックアップしています。バックアップデータをお客様に提供するサービスは行っておりません。

つまり、人為的なミスで削除してしまうと、自動で復元するという機能は通常のkintoneにはない・・・

kintoneもレコードを削除しようとすると、レコード一覧画面でも詳細画面でも

kintoneレコード削除確認画面

本当のいいのかい!?削除しちゃうぞ!と聞いてくれます。それでもいいから削除ボタンを押す!

そこで今回は、通常機能でデータをバックアップする方法と、トヨクモのkBackupというサービスを利用する方法を紹介させていただきます。

通常は、csvデータを書き出して手動バックアップ

kintoneには通常機能で、ファイルにデータを書き出すという機能があります。

レコードの情報ををCSV形式で書き出すことが出来ますが、一部書き出せないフィールドが存在します。その中でも、添付ファイルは書き出すことが出来ません。

そもそも、書き出すファイルが100MBを超えると書き出しに失敗しますからね・・・

通常機能でバックアップする際は、添付ファイルなど書き出せないフィールドがあることを理解しておく必要があります。

kintone csvファイル書き出し方法

・・・マークをポチるとファイルに書き出すって項目が表示されます。これは、アプリのアクセス権でファイルの書き出しにチェックが入っているユーザーや組織、グループのみファイルを書き出すという項目が表示されます。

kintoneレコードファイル書き出し方法

ファイルを書き出すをポッチった後は、指示に従って書き出せば、以下の様なCSVファイルを書き出すことが出来ます。

kintoneCSVデータ

例えば、管理者が毎日夕方16時に手動でCSVデータを書き出して保存しておけば、万が一データを消してしまってもある程度のレベルでは復元が可能となります(添付ファイルは復元できませんけどね)

そして、毎日定期の時間に書き出すことが面倒くさいという方には、やり方は色々とあるみたいですが、私には敷居は高い・・・笑

添付ファイルフィールドを多用している人からすると、CSVのデータ書き出しだけでは不安が残る人もいるでしょう。そこで、有料サービスですがkBackupを試してみました。

kBackupを利用して自動バックアップ

kBackupとはトヨクモ様の有料kintone連携サービスです。

補足kBackupとは?公式ページ抜粋
kBackupは、kintone アプリに登録したデータが消えてしまった際に備えて、データ保全をするためのサービスです。登録されたデータと添付ファイルをバックアップし、バックアップデータの管理をします。リストアによって、CSVファイル形式では登録できない項目まで復元することができます。大切なデータだから、万一の備えを! 

kBackup料金体系

kBackup料金
  • ライト
  • スタンダード
  • プレミアム

の3コースがkBackupに存在します。定期的なバックアップ機能はどのコースでも利用できますが、添付ファイルのバックアップはスタンダードコースから オンラインバックアップ機能はプレミアムコースしか利用できません。

オンラインバックアップ機能(製品サイトより抜粋)

レコードの追加、編集、削除の操作がされたタイミングで、更新後のデータを自動的にバックアップします。データ復旧時には、こちらのデータまでリストアすることで、最新のデータに戻すことができます。

※CSVで読み込んで登録したレコードや、API経由で登録されたレコードにオンラインバックアップは対応しておりません。

kBackupオプション

オプションとしてバックアップが出来るアプリ数を増やしたり、バックアップ可能な容量を増やすことが出来ます。

  • アプリ追加(100アプリを超えるアプリのバックアップ時に必要)
  • 個別アプリ制限解除(1つのアプリのレコード上限10万件を超えるバックアップ時に必要)
  • ディスク造設(バックアップ容量200GBを超えるバックアップ時に必要)

【kintone容量落とし穴 kintone変更履歴で添付ファイルデータのバックアップ】YouTube

kBackup設定

まずは、バックアップさせたいアプリを登録します。

kbackupアプリ登録
kbackupバックアップ時間設定
  • バックアップさせたいkitoneアプリのURL
  • アプリ名(自分が分かる名前に)
  • バックアップ開始時間帯(定期バックアップをさせる大体の時間帯)

上記の項目を入力、設定すればアプリが登録されます。これで、設定が完了するわけではありません。

  • Javascriptをアプリに登録させる
  • アプリテンプレートをkBackupに読み込ませる

この2つを設定することで、kBackupの設定が完了となります。

javascriptとアプリテンプレート

Javascriptダウンロード

kBackup重要設定事項

Javascript/CSSでカスタマイズ①

kintoneにJavascript登録

Javascript/CSSでカスタマイズ②Javascriptアップロード

kBackupのページから、javascriptをダウンロードして、kintoneのアプリ設定でダウンロードしたJavascriptをアップロードして追加させます。

アプリテンプレート作成①kintoneからアプリテンプレート書き出し
アプリテンプレート作成②kintoneアプリテンプレート書き出し2

kintoneシステム管理から、バックアップさせたいアプリのアプリテンプレートを作成→書き出し→kBackupに登録させます。

これでkBackupの設定は完了。あとは、設定した時間帯になれば自動的にバックアップ作成される。

定期バックアップ実施時間帯を12時頃に設定し、バックアップデータを作成したとします。バックアップ作成から次のバックアップ作成までの間に追加したレコードについては、定期バックアップでは常にバックアップを作成しているわけでありません。

常にバックアップが可能な環境にする為には、オンラインバックアップ機能を有効にする必要があります。プレミアムコースの契約が必須ということですね。

オンラインバックアップ機能を有効にして、1レコードを削除し、リストアしてみます。

1レコード削除→リストアしてみる

試しに、デイサービス記録アプリでレコードを編集したり、削除したりしてみました。すると、編集削除されたタイミングでデータを自動的にバックアップされます。

kBackupデータを確認してみる

CSVファイルをクリックすれば、CSVデータをダウンロードすることが出来ますし、リストアすれば添付ファイルもバックアップが可能です。

オンラインバックアップ機能は便利です。その分費用も高くなるのが仕方のないことですね。うっかりミスで大切なデータが消えてしまう。それを復元できるということや、ドメインごとの契約なのでどれだけユーザーが多くても料金は変わらないという安心感はあります。

ちゃんと添付ファイルもバックアップしてる!!

kBackupフィールド確認

レコード番号までは再現されないようでして、リストアしたレコードには新しいレコード番号が振られていました。

利用したデイサービス記録アプリでは、自動採番プラグインで利用者ごとにNoを振っていましたが、そのNoは勿論復元されていました。(文字列1行フィールドだからね)

全レコード削除してみる

通常あまり利用することはないと思いますが、例えば別のアプリにレコードをコピーしたので、表示しているレコードを削除したい。

CSVからレコードを追加したが、データに誤りがあって一括削除したいという際には「レコード一括削除」という機能を利用します。

一括削除は、アプリの設定で高度な設定という項目がありますので、そこから「レコード一括削除を有効にする」にチェックを入れることで利用できる機能です。

では、デイサービス記録一覧のレコードを全て削除してみます。

kintoneレコード一括削除
bozu
全部消してやったぜ!!
kintoneレコード一括削除後

オンラインバックアップ機能では、一括削除には対応できない様です(多分)

定期バックアップで作成したデータを用いてリストアすることは可能です。

そもそも、うっかりミスでデータを一括削除することはあまりないと思いますが、どうしても機能の状態に復元したい際には定期バックアップ機能を用いてリストアすれば・・・

kBackupでkintoneレコードをリストア
kinbozu
はい!!復元!!あ~良かった
kintoneレコードリストア完了

バックアップ機能は自動か手動か

災害時やサイボウズのうっかりミス(それはないと思うけど)でデータ消失された場合を置いといて、人為的なミスのフォローまでサイボウズは責任を負ってくれません(当然)

日々手動でCSVデータを書き出して残しておくことは可能だが、添付ファイルなど書き出せないデータも存在する(書き出しデータが100MBを超えるとエラー)

まぁ消えることはないだろうと思っていたら、誰かがミスして全部消えちゃうとか、アプリをカスタマイズしすぎてフリーズしちゃうとか何が起きるか分かりません。保険として自動バックアップ機能をつけておくことは必要ですよね・・・