こんにちは。ティーマネジメントの田中です。
今回はバックアップについての記事になります。
FileMakerに限った話ではありませんが、コンピュータに保存されているファイルのバックアップを作成することは非常に重要です。
多くの場合、ファイルのバックアップを作成する際に行うことは、
1.ファイルをコピー(CTRL+C)して、貼り付け(CTRL+V)でファイルのコピーを作成する
2.作成したものに、名前をつける(ファイル名+日付など)
というのが多いのではないかと思います。
FileMaker Proをローカル環境で使用している場合も、同様にファイルのコピーを作成、
今の日付と時間を確認して、ファイル名を手入力するという流れになります。
しかし、上記の流れではファイルを作成したり、名前をつけたりするのが手間になります。
今回は、FileMaker Proのローカル環境で、スクリプトを使用してバックアップファイルの自動作成を行いたいと思います。
バックアップ作成のスクリプトを作成する
バックアップファイルを作成するスクリプトを考えます。
FileMakerには「名前を付けて保存」というスクリプトステップがあり、現在のファイルのコピーを作成することができます。
FileMaker ProもしくはFileMaker Goで利用することができるスクリプトステップです。
このスクリプトステップを使用して、スクリプトを作成していきます。
「名前を付けて保存」には、どのようなファイルを保存するかオプションを設定できます。
今回はバックアップが目的なので、「現在のファイルのコピー」を選択します。
「出力ファイルの指定」オプションから、保存先のフォルダパスと、ファイル名を指定します。
バックアップの保存先が決まっている場合はこのオプションから指定します。
今回は、Windowsコンピュータ内のDドライブに「バックアップ」という名前のフォルダを作成して、
その中に保存するようにします。
保存先のパスと、ファイル名を格納した変数を作成します。
変数の中身は次のように指定します。
Let (
[
~fileName = Get ( ファイル名 ) ;
~timeStamp = Filter ( Get ( タイムスタンプ ) ; "1234567890" ) ;
~path = "D:\バックアップ" ;
~convertedPath = ConvertToFileMakerPath ( ~path ; WinPath )
] ;
~convertedPath & "/" & ~fileName & "_" & ~timeStamp & ".fmp12"
)
~timeStampは、現在のタイムスタンプ(例:2024/02/14 12:34:56)から、
ファイル名に使用できない文字「/」「:」などを除いたものです。
~path には保存先のフォルダパスを指定します。
Windowsの場合、フォルダをSHIFT+右クリックで「パスのコピー」を選択して、コピーした文字列を貼り付けています。
~convertedPathは、WindowsのファイルパスをFileMakerのパス形式に直したものです。
これによって、
「ファイル名_20240214123456.fmp12」というファイルが、「Dドライブのバックアップというフォルダ」の中に保存されるはずです。
スクリプトを実行すると、
ファイルが作成されていました。
今回はスクリプトでバックアップを作成する方法について紹介しました。
参考になれば幸いです。
バックアップの頻度を決める
手動でバックアップを作成するためのスクリプトは完成しました。
次は、このスクリプトが実行されるタイミングを決めます。
バックアップを作成するタイミングはファイルによって様々かと思いますが、今回はFileMaker Proのローカル環境を想定して、ファイルを開いたタイミングでバックアップを作成するようにします。
「前回ファイルを開いた日から5日以上空いている場合、バックアップを作成する」ように設定したいと思います。
まず、「最後にバックアップを作成した日付」の情報が必要になりますので、その情報を保存するテーブルとフィールドを作成しておきます。
「バックアップ作成日」テーブルに、「日付」というフィールドを作成して、1レコード作成します。
新しいスクリプト「バックアップ確認」を作成します。
このスクリプトで、「最後にバックアップを作成してから5日空いているか」を確認し、
空いている場合は先ほどのバックアップ作成スクリプトを実行し、最後にバックアップを作成した日付に、今日の日付を格納します。
最後に、このスクリプトがファイルを開いた際に実行されるように設定します。
ファイル > ファイルオプション > スクリプトトリガ タブから、
OnFirstWindowOpenに「バックアップ確認」スクリプトを設定します。
OnFirstWindowOpenに設定したスクリプトは、このファイルが開いた際に最初に実行されます。
以上で設定は終了になります。