【簡単】Google Apps ScriptsでGoogleドライブのファイルを自動バックアップ

Google
スポンサーリンク

 

最近、部署で連携して入力する機会が増えてきました。そのたびに、おいおいこれ入力数字違くない?誰間違えたの?という会話が発生し、変更履歴を遡って戻すといった作業をしてました。

ファイルの容量が大きいと、戻すのにも数分かかりイライラが募ります。

そこで、定期的にバックUPをとって、バックアップしたファイルはバックアップフォルダに入れるようにしたいと思いました。

思ったけどできるかなと調べたら、GASを使えば簡単にできるようなのでやって見たいと思います。

スポンサーリンク

Google Apps Scriptsでファイルを定期的に自動バックアップ

まずは、Googleドライブにアクセスして、左上の作成ボタン > スクリプトをクリックします。

左上の作成ボタン > スクリプト

空のプロジェクトをクリックして、以下のスクリプトを書きます。

空のプロジェクト

function Backup() {  
  var file = DriveApp.getFileById('ファイルのID');//バックアップしたいファイル
  var folder = DriveApp.getFolderById('フォルダのID');  // ここで指定したフォルダにファイルが入る
  file.makeCopy(file.getName()+'-'+Utilities.formatDate(new Date(), 'JST', 'yyyy-MM-dd-HH'),folder);   
}

バックアップファイルは元の名前-年-月-日-時間(24H表示)になります。

例えば、WEB担当者の備忘録というファイル名の場合は、WEB担当者の備忘録-2014-09-08-21といった具合に命名されます。

ファイルのIDは、バックアップしたいファイルを開いて、URLを確認します。

スプレッドシートの場合が下記の●部分がID
/spreadsheet/ccc?key=●●●●●●●●●●●●●●●●●●●&usp=drive_web#gid=10

ドキュメントの場合は、下記の●部分がID
/document/d/●●●●●●●●●●●●●●●●●●●/edit

フォルダIDはバックアップファイルを入れたい、フォルダにアクセスしてURLを確認します。

#folders以下の文字列がIDです。
#folders/●●●●●●●●●●●●●●●

書いたスクリプトがちゃんと動くか確認します。

上のメニュー▶を押すと、名前をつけなさいと言われるので適当な名前をつけます。

▶押す!

あとは、承認を求めてくるのでOKします。

このあと▶を押して、対象のフォルダにファイルができていればOKです。

時間になったら作動するように、トリガーを設定する。

上のメニューの時計のようなアイコンをクリックすると、トリガーが出てくるので、時間主導型>時タイマー>4時間毎を指定して完了です。

時計押す!

最初は分タイマーで5分毎にしたのですが、サーバーエラーで止まることが頻発したので一日6回のバックUPに留めました。

参考にさせて頂いたサイト

[GAS]Googleドライブ上のファイルを定期的に自動バックアップする : 逆引きGoogle Apps Script

コメント

タイトルとURLをコピーしました