そうめん食いてえ。Takotaniです。
バックアップ環境の整備
映像制作および写真撮影のお仕事の話。
クリエイティブの世界ってとにかく保持すべきデータの容量が多く、またそのデータの重要性もかなり高い。
映像制作用にロケで撮影したデータが消えました、なんてことになった場合、最悪取り返しのつかないことになってしまう。
ということで、現状私が行っているデータバックアップの手法が下記。
基本的に写真現像や映像制作の作業は外付けSSDにて行う。これは、メインPCとサブPCのどちらでも作業ができるようにするため。
そして作業完了したファイル達、及び作業中のファイルに関しても、バックアップHDD①に移して作業状態をキリのいいところで(例えば顧客サンプルを提出するタイミングなど)保存しておく。
バックアップHDD①の物理的な故障に備えて、バックアップHDD②にその内容をまるっとコピーしておき、この2つは常に同期している(同じ内容が記録されている)状態にしておく。
ここまでやっておけば「アクシデントでファイルがなくなってしまった」という可能性は極端に低くなるし、ここまでやって防げないアクシデントならそれはもう本当に「仕方ない」と諦められるレベルと自分でも思う。
さて、このバックアップ方法について、皆さんならどのようにやるだろうか。
普通に考えると、バックアップHDD①はバックアップHDD②と完全に内容が一致しているので、バックアップHDD①の中身をまるっとバックアップHDD②にコピーしてやればいい。
その際に、既に存在するファイルについての確認ダイアログが出る可能性があるが、その場合は「すべて置き換え」をすることになる。
で、ここで問題が1つ。映像制作をしていると、1プロジェクトで映像データが200GB近くになることもザラにある。
これらを、バックアップHDD①が変更されるたびにすべてバックアップHDD②に対して、既存のファイルも含めて置換する、となると相当な時間を要することになる。
例:変更がないファイル達が2TB、変更があるファイルが3MB、といった場合でも、単純な操作で同期させようとすると、全ファイルのコピー=2TB分の上書きを行う必要がある。HDDでやれば数時間レベル。
で、最初のうちはバックアップ対象のファイルもそこまで多くなく、全コピーで対処していたのだが、さすがに容量が1TBを越えてくると、ちょっとした変更で全コピー、というのは非常に時間を食い、それがストレスになってきた。
じゃあ変更したファイルだけピンポイントでコピーして上書きすればいいやん。と思うかもしれないが、変更したファイルが複数ある場合、抜け漏れなくそれらをピンポイントで上書きコピーできる人がどれだけいるだろうか・・・
そんなわけでrobocopy
である。
robocopyとはコマンドプロンプトで使用できる、同期用のコマンドである。
オプション設定次第で、「ファイルをコピーし、重複するファイルについてはプロパティ(更新日時や属性など)に変化があるファイルのみ上書きする」といった使い方ができる(本業の方で何度か使っていた)。
で、バックアップHDD①とバックアップHDD②についてはフォルダパスが常に同じである為、
「バックアップHDD①をバックアップHDD②にまるっとコピー(robocopy)、重複がある場合は更新日時もしくはファイル容量が異なる場合に上書きする」
というバッチファイルを作成し、アイコンのダブルクリックで自動同期ができるようにした。
これがバックアップHDD2つの自動同期システムである。
で、作業用フォルダのバックアップHDD①へのバックアップについては、作業用フォルダのパスが一定でないことと、言うて200GB程度の話なので、こちらは毎回全コピーしてバックアップするようにしていたのだけども。
これもやっぱりめんどくさくなってきた
そんなわけでrobocopyバッチの自動化
じゃあそこも簡単にできるようにすればええやん、ということで、ExcelVBAで、コピー元とコピー先をダイアログで選択して任意のコピー元からコピー先へrobocopyするマクロを開発した。
こんな見た目。
自分しか使わないのでシンプルでいい。
コピー元やコピー先、robocopyバッチを出力するためのフォルダはボタンを押すことでダイアログが立ち上がり、GUIで設定できる。
こんなもんエクスプローラーのアドレスバーから取得したらええやん、と思われるかもしれないけども、毎度毎度エクスプローラーでそのフォルダを開いて、というのも結構面倒なので、Excel上で直接アクセスできるようにした。
で、コピー元、コピー先、バッチファイルの生成先を選択したら、
バッチファイル生成ボタンを押して、生成されたバッチファイルを実行(アイコンダブルクリック)
か
バッチ実行ボタンをクリック
でrobocopyによる同期が行われる。
実行については結果をlogファイルに出力する。
バッチ実行ボタンを押した場合はメッセージボックスで表示される。
ちなみに、ExcelVBA上でバッチ実行までの一番シンプルな使い方は現状では動作があまり安定しないので、バッチファイルを生成→生成したバッチファイルを実行、というのが安心安全な使い方かな。
VBAだけで全部できるのが望ましいけども、そもそも大量のファイルを同期したときの大量のログってメッセージボックスどうなんの、という心配もあるし、言うて1日に何度もやる作業ではないので、バッチファイル生成→実行についてはマニュアルでも構わない。
何が言いたいかって?
こういうの楽しい笑
久々のVittoriaハイエンドタイヤ
先日スネ雄氏に外通のついでで購入代行お願いしていた、Vittoria CORSA GRAPHENE 2.0が届いた。
最近で言うとここ5年ほどはVittoria Rubino Proを通勤チャリ用に愛用しているけども、ハイエンドタイヤはたぶん10年ぶり。
前回使用はOpen Corsaとかじゃなかったかな。チューブラーで20Cとかのやつ。当時は細いタイヤで空気圧パンパン(たしか12barとか)、ってのがトレンドで。
しなやかで転がりが軽い、で定評やったので買ってみたけど、使用20kmくらいでパンクして使えなくなり、それ以降Vittoriaのタイヤにはかなりの苦手意識があった。
で、ここ5年くらいのRubino Proの感触からVittoriaの株がまた上がってきており、好評のCORSA GRAPHENE 2.0を試してみようと。チューブレスレディモデルあるしね。
今のSCHWALBE PRO ONEがたぶんあと1,000kmは走れるので、シェイクダウンは3ヶ月以上先になるとは思うけど・・・。
ちょいポタ
1,000km/月に向けて少しでも進捗するためにちょっとだけポタ。
あと23kmのところ、15kmくらい走って残り8kmくらいかな。
明日ローラーやって1,000kmに乗せよう。
0 件のコメント:
コメントを投稿