もっと詳しく

スマホの機種変更時に面倒なのが、 WhatsApp やLINE、WeChatと言ったプッシュ型のSNSデータ移行。それでも近年はGoogleドライブへの履歴 バックアップ をサポートするSNSも増えてきました。 WhatsApp の場合の バックアップ と 復元 手順をGoogleドライブ経由の他、データファイルを直接移した場合についてまとめました。

バックアップ設定

WhatsAppのバックアップ機能は、「設定」の「チャットバックアップ」内にあります。

図1.設定からチャットバックアップへ

図1.設定からチャットバックアップへ

端末の内部ストレージへのバックアップの他、Googleアカウントを登録してあれば、そのアカウントのドライブへもバックアップすることができます。そしてバックアップは都度実行の他、定期的に実行するよう、スケジューリングしておくことが出来ます。

図2.チャットバックアップ実行

図2.チャットバックアップ実行

Googleドライブ上では、ファイルやフォルダとして見えるのではなく、連携アプリとして登録されていることが分かるのみです。LINEも同じ一覧にいますがこちらは使用量が明示されています。

図3.Googleドライブから見たアプリバックアップ

図3.Googleドライブから見たアプリバックアップ

Googleドライブからの復元

WhatsAppデータをバックアップから復元出来るのは、アプリインストール後の初回起動時に現れる、初期設定ウィザードのみ。

図4.初期設定中のバックアップ復元

図4.初期設定中のバックアップ復元

メッセージの復元はウィザード内で完了しますが、画像などメディア系はバックグラウンドで進行します。

図5.メディアを復元中

図5.メディアを復元中

ローカルバックアップの構成

Googleドライブへアップロードされる前に、ユーザデータ領域である内部ストレージに生成されるローカルバックアップは、Android端末の以下の見つけやすい場所に保存されています。

/sdcard0/WhatsApp/

上記のように内部ストレージ直下にいない場合、次の場所にいたことも実際にありました。

/sdcard0/Andoird/media/com.whatsapp/WhatsApp/

どちらの場所にあっても、WhatsAppフォルダ以下の構成に違いは無く、次のような構成になっています。

WhatsApp/
├── .Shared
├── .StickerThumbs
├── .Thumbs
├── .trash
├── Backups
    ├── chatsettingsbackup.db.crypt1
    ├── statusranking.db.crypt1
    ├── stickers.db.crypt1
├── Databases
    ├── msgstore-2020-10-30.1.db.crypt12
    ├── msgstore-2020-10-31.1.db.crypt12
    ├── msgstore-2020-11-01.1.db.crypt12
    ├── msgstore-2020-11-02.1.db.crypt12
    ├── msgstore-2020-11-03.1.db.crypt12
    ├── msgstore-2020-11-04.1.db.crypt12
    ├── msgstore-2020-11-05.1.db.crypt12
    ├── msgstore-2020-11-06.1.db.crypt12
    └── msgstore.db.crypt12
└── Media
    ├── WallPaper
    ├── WhatsApp Animated Gifs
    │   ├── Private
    │   └── Sent
    ├── WhatsApp Audio
    │   ├── Private
    │   └── Sent
    ├── WhatsApp Documents
    │   ├── Private
    │   └── Sent
    ├── WhatsApp Images
    │   ├── Private
    │   └── Sent
    ├── WhatsApp Profile Photos
    ├── WhatsApp Stickers
    ├── WhatsApp Video
    │   ├── Private
    │   └── Sent
    └── WhatsApp Voice Notes

上から順にサブフォルダを追ってみると(隠しフォルダは除く)、まず

Backups

 にはアカウントやチャットの設定が保存されているようです。

次の

Databases

がテキストベースのチャット履歴が入ったデータベースで、現行の他に過去数世代分が保持されています。実際にWhatsApp公式FAQにも、この過去のデータベースファイルをリネームして復元する方法が載っていました。

How to restore your chat history – Restore from a Google Drive backup In order to successfully restore a Google Drive backup, you need to use the same phone number and Google account used to create the backup. To restore your backup: Uninstall and reinstall WhatsApp. Open WhatsApp and verify your number. When prompted, tap RESTORE to restore your chats and media from Google Drive. After the restoration process is complete, tap NEXT.
WhatsAppヘルプセンター – How to restore your chat history – WhatsApp.com

最後の

Media

 以下がチャット内の画像(Images)、動画(Video)、音声メッセージ(Voice Notes)などが保存されている場所で、このうち音声メッセージはさらに細かいサブフォルダの細分化されています。

 

ローカルバックアップからの復元

移行先の端末にこの

WhatsApp

フォルダごと直接コピーしてしまえば、WhatsAppアプリインストール後の初回起動で認識されるので、Googleドライブ経由よりも速い復元が見込めます。

先ず、Ubuntu 18.04母艦にAndroid端末をUSBケーブルで繋ぎ、adb pushコマンドを使って、日頃rsyncで同期しているバックアップを転送してみます。フォルダを再帰的に転送する方法は、こちらを参考にさせて頂きました(Great Tnx!!)。空のフォルダは転送されないのは仕様です。

$ adb devices
List of devices attached
AHK0216B09001965	device

$ ll
drwxrwx---  9 user user 4096 Jun 18 00:00 WhatsApp/

$ adb push WhatsApp/. /sdcard/WhatsApp
adb: warning: skipping empty directory 'WhatsApp/./.StickerThumbs/'
adb: warning: skipping empty directory 'WhatsApp/./.Thumbs/'
adb: warning: skipping empty directory 'WhatsApp/./.trash/'
adb: warning: skipping empty directory 'WhatsApp/./Media/WallPaper/'
adb: warning: skipping empty directory 'WhatsApp/./Media/WhatsApp Profile Photos/'
adb: warning: skipping empty directory 'WhatsApp/./Media/.Statuses/'
WhatsApp/./: 6741 files pushed. 6 files skipped. 11.5 MB/s (1925836455 bytes in 159.332s)

USBケーブルを外してWhatsAppアプリをインストールの後、初期設定ウィザードが内部ストレージに転送したローカルバックアップを見つけるので、これを使い復元。端末内で読み込むだけなので、バックグラウンドで進行するタスクも無く完了します。

図6.内部ストレージから復元

図6.内部ストレージから復元

 

WhatsAppのローカルバックアップは内部ストレージに生成されるため、ユーザサイドからrsyncによりNASやPCへ簡単に同期させることができ、バックアップや復元がしやすくなります。

投稿 WhatsAppデータのローカルバックアップを用いたAndroid端末間移行Fun Scripting 2.0 に最初に表示されました。