ADVERTISEMENT

【Googleドキュメント】定期的に文書をバックアップしたい時のDrive自動コピー

【Googleドキュメント】定期的に文書をバックアップしたい時のDrive自動コピー
🛡️ 超解決

Googleドキュメントはクラウド上で作成・編集するため、ローカルにファイルが残りません。誤って削除してしまったり、共有相手の操作で内容が変わってしまうと、元に戻すことが難しい場合があります。特に会社で使用している共有ドキュメントでは、任意の時点の状態を保持するために定期的なバックアップが欠かせません。本記事では、Google Apps Script(GAS)を利用して、Google Drive上で文書を自動的にコピーするバックアップ方法を解説します。初めてスクリプトを扱う方でも設定できるよう、具体的な手順と注意点をまとめました。

【要点】この記事で確認すること

  • 最初に見る場所: Google Apps Scriptのスクリプトエディタとトリガー設定画面
  • 切り分けの軸: バックアップ方法の選択(手動・GAS・サードパーティ)、権限と制限の理解
  • 注意点: 会社のGoogle Workspaceポリシーでスクリプトが制限されている場合があるため、管理者への確認が必要です

ADVERTISEMENT

Googleドキュメントのバックアップが必要な理由

Googleドキュメントはクラウドネイティブなため、ローカルにファイルの実体はありません。削除や上書き、共有設定の変更などでデータが失われるリスクが常に存在します。Googleドキュメントの変更履歴は90日間しか保持されず、編集前の完全な状態には戻せないことも多いです。また、コンプライアンスや監査の観点からも、定期的なバックアップを取得しておくことが推奨されます。

自動コピーを実現する方法

定期的なバックアップを自動化する方法は、主に以下の3つです。

方法1:手動コピー(Driveの「コピーを作成」)

最も簡単ですが、定期的な実行を忘れやすいです。バックアップ対象が少なく、頻度が低い場合に適しています。手間がかかるため、定期的な運用には向きません。

方法2:Google Apps Scriptによる自動化

トリガーを使ってスクリプトを定期実行できます。カスタマイズ性が高く、追加コストがかかりません。初期設定に少し時間がかかりますが、一度設定すれば自動でバックアップが取得できます。本記事ではこの方法を詳しく解説します。

方法3:サードパーティ製ツールの利用

ZapierやIFTTTなどのノーコードツールを使うと、簡単に自動化できます。無料プランでは制限があり、有料プランが必要な場合があります。会社のセキュリティポリシーに抵触する可能性があるため、事前に確認が必要です。

Google Apps Scriptを使った自動バックアップの設定手順

以下の手順に沿って設定を行います。事前にバックアップ元とバックアップ先のフォルダを用意し、そのフォルダIDを取得しておいてください。フォルダIDは、Google Driveでフォルダを開いたときのURLの「folders/」以降の文字列です。

  1. Google Driveのバックアップ元フォルダとバックアップ先フォルダのIDをメモします。それぞれのフォルダを開き、URLからIDをコピーしてください。
  2. Google Driveの画面上で「拡張機能」→「Apps Script」を選択し、スクリプトエディタを開きます。新しいプロジェクトが作成されます。
  3. エディタに次のコードを貼り付けます。ソースフォルダIDとバックアップ先フォルダIDを、先ほどメモした実際のIDに置き換えてください。
    function backupDocs() {
      var sourceFolder = DriveApp.getFolderById('ソースフォルダID');
      var destFolder = DriveApp.getFolderById('バックアップ先フォルダID');
      var files = sourceFolder.getFilesByType(MimeType.GOOGLE_DOCS);
      while (files.hasNext()) {
        var file = files.next();
        var fileName = 'バックアップ_' + file.getName() + '_' + Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyyMMdd');
        file.makeCopy(fileName, destFolder);
      }
    }
  4. スクリプトを保存し、実行ボタンをクリックして初回実行時の権限承認を行います。承認画面が表示されたら、自分のアカウントでログインし、必要な権限(Google Driveへのアクセスなど)を許可します。
  5. エディタ左側の時計アイコン(トリガー)をクリックし、「トリガーを追加」を選択します。実行する関数に「backupDocs」を指定し、時間ベースのトリガー(毎日など)を設定します。
  6. 設定後、手動で関数を実行してテストします。バックアップ先フォルダに、日付入りのファイルが作成されていれば成功です。
  7. 定期的にトリガーの動作を確認します。エラーが発生した場合は、GASの実行トランスクリプトやGoogle Driveのアクティビティログを確認してください。

失敗しやすいポイントとトラブル対策

権限不足によるエラー

スクリプトがGoogle Driveへのアクセス権限を持っていない場合、エラーが発生します。初回実行時に表示される権限承認画面で、必要な範囲を許可してください。会社の管理者がスクリプトの実行を制限している場合は、管理者に問い合わせて許可を得る必要があります。

トリガーが動作しない

GASのトリガーには、1日あたりの総実行時間に制限があります(Consumerアカウントで90分、Workspaceアカウントで6時間など)。大量のファイルを処理する場合は、時間内に終わるように設計してください。また、トリガーの数にも制限があるため、複数のトリガーを設定する場合は注意が必要です。

ファイル名の重複

同じ名前のバックアップが既に存在する場合、自動的に「コピー 1」のようにリネームされます。コード例ではファイル名に日付を追加しているため、重複のリスクは低減されますが、同日内に複数回実行する場合などは注意してください。

フォルダIDの指定ミス

誤ったフォルダIDを指定すると、バックアップが別の場所に作成されたり、スクリプトがエラーになります。IDはURLの「folders/」以降の部分を正確にコピーしてください。フォルダを開いた状態でURLを確認すると確実です。

状況別比較表

方法 設定難易度 カスタマイズ性 コスト 管理のしやすさ 会社への推奨度
手動コピー 無料 低(忘れやすい) △(一時的)
Google Apps Script 無料 中(一度設定すれば自動) ◎(適切な権限設定で推奨)
サードパーティツール 低~中 有料(無料プラン制限あり) 高(GUIで設定可能) △(セキュリティポリシー要確認)

管理者に確認すべきこと

  • 組織のGoogle WorkspaceでGoogle Apps Scriptの実行が許可されているかどうか。
  • スクリプトのトリガーに関する上限(1日あたりの総実行時間、トリガー数など)。
  • バックアップ先のフォルダの共有設定(誰がアクセスできるか、組織外には公開しないなど)。
  • 機密文書のバックアップが情報管理ポリシーに違反しないか。

よくある質問

バックアップの頻度はどのくらいが適切ですか?

文書の更新頻度によりますが、毎日実行するのが一般的です。トリガー設定で毎日または数時間おきに設定できます。

バックアップ先を指定のフォルダにできますか?

コード内でバックアップ先のフォルダIDを指定すれば可能です。上記のコード例ではdestFolderに指定しています。

複数のドキュメントを一括でバックアップできますか?

上記のコードは特定フォルダ内の全Googleドキュメントを対象にしています。複数のフォルダを対象にしたい場合は、ループ処理を追加してください。

バックアップファイルの名前に日付を入れられますか?

はい。Utilities.formatDateを使って日付を追加できます。コード例ではyyyyMMdd形式で日付を付けています。

エラーが発生した場合、どこを確認すればよいですか?

GASのエディタで「表示」→「実行トランスクリプト」を開くとエラーの詳細が確認できます。また、Google Driveのアクティビティログも参考になります。

まとめ

Googleドキュメントのバックアップは、Google Apps Scriptを使うことで無料かつ柔軟に自動化できます。初期設定に少し時間がかかりますが、一度設定すれば手間なく定期的なバックアップが可能です。組織のポリシーを確認し、適切な権限で運用することが重要です。万が一のデータ消失に備えて、今すぐバックアップの仕組みを整えましょう。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT