【GAS】ドライブ上のファイルを自動でバックアップする方法

2020年2月11日

Googleドライブ上にあるデータ( ドキュメントやスプレッドシートなど )を念のためバックアップするようにした。

手順

各IDを取得する

ファイルとフォルダのURLからIDを取得する。( 下記URLの<ID>にあたる部分 )

ファイル

https://docs.google.com/document/d/<id>/edit</id>

( 保存先の )フォルダ

https://drive.google.com/drive/u/0/folders/<id></id>

GASでプロジェクトを作成する

スクリプトプロパティに各IDを設定する

スクリプトプロパティに各IDを設定する。( ここではプロパティ名をFILE_IDFOLDER_IDとする )

ファイルIDとフォルダーIDを設定

ファイルをフォルダーへコピーする関数を定義する

下記の関数を定義する。

function copyFileToFolder() {
  const PROPERTIES = PropertiesService.getScriptProperties().getProperties();
  const FILE       = DriveApp.getFileById( PROPERTIES.FILE_ID );
  const FOLDER     = DriveApp.getFolderById( PROPERTIES.FOLDER_ID );
  const DATE       = Utilities.formatDate( new Date(), 'JST', 'yyyy-MM-dd' );
  const FILE_NAME  = FILE.getName() + "-" + DATE;
  
  FILE.makeCopy( FILE_NAME, FOLDER );
}

トリガーを設定する

copyFileToFolder関数を定期的に呼び出すようにトリガーを設定する。

CopyFileToFolderのトリガーを設定

これでドライブ上のファイルを自動でバックアップできる。