こんにちは、かねこです。
はじめに
弊社では、Googleドライブを利用して、一部のドキュメントの共有・管理をおこなっています。
最近、悲しいかなファイル消失事件が発生してしまったのですが、「そういえば、定期バックアップとってなかった…」ということで、Google Apps Scriptを利用して、Googleドライブ→Googleドライブへのバックアップを設定しました。
忘れないようにメモ。
Google App Scriptとは
Googleの一部のアプリケーションを操作したりデータを取得したりできる、JavaScriptベースの言語です。
Calender, Drive, Gmailなどに対応しており、データの橋渡しやアプリケーション連携など、便利な機能がたくさんあります。
やりかた
Google Apps Scriptを作ります。
作成→スクリプト(スクリプトが存在しない場合はOthersを選択後、Google App Scriptを追加)
コード書きます。仕様とかドキュメントはこのへん。
function documentBackup(){
  // バックアップ先のルートフォルダ
  var backupRootFolder = DocsList.getFolder('バックアップ');
  // バックアップの格納先フォルダ
  var backupFolder = backupRootFolder.createFolder(
    'ドキュメント' + Utilities.formatDate(new Date(), 
    'JST', 'yyyy-MM-dd'))
  // バックアップ対象フォルダ
  var folder = DocsList.getFolder('ドキュメント');  
  // ファイル一覧の取得
  var files = folder.getFiles();
  for (var i in files) {
    // ファイルの複製
    var file = files[i].makeCopy();
    
    // 権限剥奪
    var editors = file.getEditors();
    for (var j in editors) {
      file.removeEditor(editors[j].getEmail())
    }
    
    // ファイル移動
    file.addToFolder(backupFolder) 
    // ルートには、ファイルいらない
    file.removeFromFolder(DocsList.getRootFolder())
  }
}
スクリプトを実行してみます。
関数を選択して、
実行!
フォルダが出来ました。
ファイルも無事に出来ました。
スケジュール実行
標準機能で、スケジュール実行もできます。
リソース→すべてのトリガー
タイミングや時間、繰り返し頻度などを設定します。
これで、定期的に自動実行するようになりました!
かねこ













