>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン セキュリティ
JavaScript

デジタル生活を失わない方法:ワンクリックでGoogleアカウントをバックアップ

472 スター

こんなシナリオを想像してみてください:朝起きてメールを確認しようとしたら、Googleからアカウントがブロックされたと告げられる。説明は一切ない。サスペンスの始まりみたい?不幸なことに、多くのユーザーにとってこれは現実になっています。私の経験上、セキュリティアルゴリズムのエラーや不幸な一連の出来事だけで、10年分のメール、連絡先、カレンダーにアクセスできなくなった人々の話をたくさん耳にしました。

もちろん、GoogleにはTakeoutサービスがありますが、正直に言えば、定期的な利用は非常に面倒です。遅く、利便性が低く、手作業が必要です。そこで登場するのがnode-google-backupプロジェクトで、バックアッププロセスを洗練された自動化タスクに変えてくれます。

このツールは何で、なぜ必要なのか?

node-google-backupはNode.jsで書かれた軽量なコマンドラインユーティリティです。その唯一だが非常に重要なタスクは、メール、連絡先、カレンダーイベントをダウンロードし、標準フォーマットでハードドライブやサーバーに直接保存することです。

興味深いことに、プロジェクトの作者WeeJeWelは、まさにこれらのアカウントBANの「ホラーストーリー」に応じてこのツールを作成しました。主な特徴は増分処理です。このツールは毎回すべてのギガバイトのメールを最初からダウンロードしません。最後の同期以降に追加されたものだけを「スマートに」ダウンロードします。

NPM Version Sponsor Build & Publish NPM Package Build & Publish Docker Image

なぜこれが便利なのか?

バックアップを実行しても、巨大で読みにくいアーカイブが得られるわけではありません。このユーティリティは、特別なプログラムなしででも簡単にナビゲートできる、整理されたフォルダ構造を作成します:

  • 連絡先:すべての連絡先は.vcf形式で保存されます。どのスマートフォンやメールクライアントでも読み込めます。
  • カレンダー:イベントは.ics形式で保存されます。
  • メール:ここで本当の魔法が起きます。メールは.eml形式で保存され、3つの異なるロジック(ID別、スレッド別、ラベル別)に従って整理されます。

ちなみに、 余分な容量を占めないように、作者はシンボリックリンク(symlinks)を使用しています。物理的にはメールはBy IDフォルダに保存され、他のすべてのフォルダはそのメールへのシンボリックリンクのみを含みます。これはストレージアーキテクチャの観点から非常に賢い解決策です。

2分でバックアップを実行する方法

始めるには、Googleの「アプリパスワード」が必要です。これは特別な16文字のコードで、サードパーティ製のプログラムがメインパスワードを使わずにアカウントに安全に接続することを許可します。Googleアカウントのセキュリティ設定で作成できます。

オプション1:Node.js経由(npx)

Node.jsがインストール되어 있으면、何もダウンロードする必要すらありません。次のコマンドを実行するだけです:

$ npx -y google-backup \
  --username "[email protected]" \
  --password "ваш-пароль-приложения" \
  --filepath "~/Backups/Google/"

オプション2:Docker経由

コンテナ化愛好家(そしてホームサーバーやNASで実行したい人のために)、 готовый Dockerイメージが用意されています。これは定期的なバックアップを設定する最も便利な方法でしょう:

$ docker run \
  --env GOOGLE_BACKUP_USERNAME="[email protected]" \
  --env GOOGLE_BACKUP_PASSWORD="ваш-пароль-приложения" \
  --env GOOGLE_BACKUP_FILEPATH="/backups" \
  --env GOOGLE_BACKUP_SERVICES="mail,calendar,contacts" \
  --volume="~/Backups/Google/:/backups/" \
  ghcr.io/weejewel/google-backup

実践的なユースケース:日常生活でどう使う?

  1. 安眠:サーバーやRaspberry Piにcronを設定して、スクリプトが週1回実行されるようにします。これで、Googleに何があっても、過去10年分のメールは常に手の届くところにあります。
  2. 移行:Googleエコシステムを離れることを決めた場合、このツールはデータをクリーンな形式で「抽出」し、他のサービスへのインポート做好准备,帮助你将数据以干净的格式「提取」出来,准备好导入到其他服务。
  3. ローカル検索.eml形式は、macOSのSpotlightやWindows Searchのようなシステム検索ツールでよくインデックスされます。時にはローカルフォルダで古いメールを見つける方が、Gmailのウェブインターフェースより速いことがあります。

技術的なニュアンス

このプロジェクトはJavaScriptで書かれており、IMAPプロトコル(メール用)と連絡先とカレンダーの соответствующих APIの機能を積極的に活用しています。プロジェクトが生きているのは嬉しいことで、GitHubによると Regularly更新されており、DockerイメージはGitHub Actions 통해自動的にビルドされています。

試してみるべき?絶対にイエスです。データを大切にしているなら。これは、小さなユーティリティが大きな潜在的な問題を解決する例の1つです。言うように 人们分为两类:まだバックアップしていない人と、既にしている人です。node-google-backupを使えば、5分で後者のカテゴリに移動できます。

そして、Appleサービスを使っているなら、同じ作者がiCloud用の類似プロジェクトを持っています。でもそれはまた別の話ですね。

データを大切にしましょう!

関連プロジェクト