前回のおさらい
前回はバックアップとしてコピーしたファイルのファイル名を変更しました。
変更前:ちょう大事なスプレッドシート のコピー
変更後:20240314_バックアップ_ちょう大事なスプレッドシート
バックアップをした日の日付をYYYYMMDD形式で取得しました。
const date = new Date()
const prefix = `${date.getFullYear()}${date.getMonth() + 1}${date.getDate()}_バックアップ_`
変更前の末尾についた「 のコピー」を削除しました。
const newFileName = prefix + backupFile.getName().replace(' のコピー', '')
最後にファイル名を変更しました。
const newFile = backupFile.setName(newFileName)
最終的にこのようなコードができあがりました。
const getImportantFiles = () => {
// ファイルを取得している
const driveApp = DriveApp
const folder = driveApp.getFolderById('ちょう大事なフォルダのID ※バックアップではない')
const files = folder.getFiles()
// バックアップフォルダにファイルのコピーを作成している
while (files.hasNext()) {
const backupFolder = driveApp.getFolderById('バックアップフォルダのID')
const file = files.next()
const backupFile = file.makeCopy(backupFolder)
const date = new Date()
const prefix = `${date.getFullYear()}${date.getMonth() + 1}${date.getDate()}_バックアップ_`
const newFileName = prefix + backupFile.getName().replace(' のコピー', '')
const newFile = backupFile.setName(newFileName)
console.log(newFile.getName())
}
}
今回は日次のトリガーを設定して毎日23時に自動実行されるようにします。
トリガーの設定
トリガーとは
Google Apps Scriptにはトリガーという機能があります。
トリガーとは自動的にプログラムを実行する機能です。
いくつかの条件をもとに自動実行できます。
今回は「毎日23時に実行」したいので時間単位の自動実行ですね。
トリガーの設定
GASエディタの左のメニューからトリガーをクリック

※マウスを目覚まし時計アイコンの上に持っていくとメニューがひらきます
右下の「トリガーを追加」をクリック

下のように設定します。

①実行する関数を選択
1つのトリガーで実行できる関数は一つのみです。このコードはgetImportantFilesを実行することで他の関数も含めてすべて実行するようになっていますのでgetImportantFilesを実行するようにします。
②イベントのソースを選択
「毎日23時」に実行するようにしたいので時間主導型にします。
③時間ベースのトリガーのタイプを選択
「毎日」なので日付ベースのタイマーにします。
④時刻を選択
「23時」なので午後11時〜午前0時にします。とはいえ、23時ぴったりに実行されるわけではなく、23時〜24時の良い頃合いの実行となります。
すべて設定が終わったら右下の保存ボタンをクリックします。
このようになっていればトリガー設定完了です。

これでバックアップを自動でとれることになりましたし、皆大満足のファイル名にもなりました。
トリガー便利ですよね。というかGAS便利です。
何が便利ってサーバーたてなくていいのが最高です。
全部こうならないかなぁとGoogleにお願いしたいですね。
デュクシ
