データのバックアップを確認していますか?

OneDriveやGoogleドライブ、boxなどのクラウドストレージが主流になりつつある世の中ですが、動画制作、デザイン、CADなどの技術系業種のデータはレスポンスが悪いと仕事にならないため、NAS(ファイルサーバ)を事業所内に設置しているところが多くあります
小規模事業所用のNASはTerastationやLANDISKのような小型ストレージが利用されることが多く、HDDを2台搭載して同じ内容を2つのHDDに同時に書き込むようなディスク構成(RAID1)を採用しているものが一般的ですね
RAID構成の場合、1台のHDDがクラッシュしてももう1台が生きていればデータは利用できます。ただし、それはバックアップとは言いません。
よく聞くのは「うちはミラーリングしてるので大丈夫だよ」と安心しきっているユーザー様がいらっしゃいますが、ミラーリングの場合、ファイルが破損していると2つのHDDに破損したファイルを書き込みますので、結局は壊れた状態で保存されていますので、バックアップにはなりません
弊社で設置する場合、NASにバックアップ用の外付けHDDを追加した構成にしますので、RAIDで冗長構成しつつ、別媒体へのバックアップをする形をお勧めしています
これでデータの損失は防げますね
では、この構成にした時、実際にバックアップがちゃんと動いているか、皆さん確認されていますでしょうか?
バックアップは自動で行われますが、日時バックアップの場合、翌日にNASにアクセスしてバックアップが取れているか、エラーは出ていないかを確認する作業を行わないと、なにかの拍子にバックアップが止まっていて、NASに障害が起こった時にバックアップHDDを確認したら、データが3か月前から更新されていないということが起こります
過去の経験でそのような状況に何度も遭遇して以来、自動処理は信用していません
まずは、NASのバックアップが完了すると完了通知メールを管理者に送信する設定をします。毎朝届く通知メールを確認すれば正常に完了したことが分かりますね
ただ、毎日のルーチン作業はたとえ5分でも面倒な作業ですよね
そこで、バックアップ確認用の管理ツールをGoogleスプレッドシートで作って管理することにしました。完了通知メールの送信日時をスプレッドシートへ転記します
これは、手動ではできませんのでGAS(Google Apps Script:マクロ)を使って簡単なプログラムを作成します
これで毎朝NASの管理画面からログを確認する作業はなくなり、シートに記録されている完了通知が送信された日時を見るだけになります
それもメールチェックがシートに置き換わっただけで時間短縮にはなりませんね。。。
さらに手をくわえ、通知メールの送信日時が数日前で更新されていないと、シートからメールを飛ばすプログラムも追加します
シートには完了通知メールの送信日時を転記するプログラムと送信日時が更新されていないとメールを飛ばすマクロの2つを作りました
これだけだと、毎回プログラムを実行しなければなりませんので、トリガーという機能を使って、自動実行させる仕組みをくわえます

これにより、バックアップ完了通知メールを見ることもなく、バックアップが失敗して完了メールが届かない場合だけ届くメールを見るだけの作業になりますので、ルーチン作業はなくなります
ちょっとした工夫ですが、毎日やることが一つでも減るとうれしいですよね
Googleスプレッドシートの場合、PCを起動していなくても処理はGoogle側で行いますので、メールが届くのを待っているだけです
各企業がDX推進といろいろ実施していますが、こういう簡単な作業の効率化も立派なDXですので、EXCELなどでマクロの経験がある方でしたらGASもチャレンジしてみてください
ちなみに、このマクロも信用できませんので、不定期でスプレッドシートは確認する確認してくださいね。機械はあてになりませんので