Google Apps Scriptで、Googleドキュメントのバックアップ
こんにちは、かねこです。
はじめに
弊社では、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()) } }
スクリプトを実行してみます。
関数を選択して、
実行!
フォルダが出来ました。
ファイルも無事に出来ました。
スケジュール実行
標準機能で、スケジュール実行もできます。
リソース→すべてのトリガー
タイミングや時間、繰り返し頻度などを設定します。
これで、定期的に自動実行するようになりました!
かねこ