AppEngineのデータストアのバックアップをcronで自動化する方法が公開されていました。 Scheduled Backupsでは、データストアをCloudStorageにバックアップします。

まず、バックアップ先のCloudStorageのバケットを作成します。

cloud_storage

次に、データストアの管理を有効にします。

datastore

AppEngineプロジェクトのcron.yamlにバックアップジョブを設定します。kindにはバックアップ対象のエンティティ名を、gs_bucket_nameに先ほど作成したバケットを登録します。

- description: backup
  url: /_ah/datastore_admin/backup.create?name=BackupToCloud&kind=Bookmark&filesystem=gs&gs_bucket_name=backup-tdnet-search
  schedule: every 12 hours
  target: ah-builtin-python-bundle

cronを実行すると、データストアの管理画面に表示されます。反映までに少し時間がかかります。

datastore_admin

Cloud Storage側にも反映されます。

bucket

今まで、データストアのバックアップは手動でぽちぽちするしかなかったのですが、自動化できるようになって便利です。