AI活用・業務改善

消す前に、1.54TBを全数照合した。「バックアップ済み」は半分間違っていた

ポータブルSSDから複数のNASへ写真が流れる図。多くは緑のチェックが付き、一部に赤い警告マークが付いている

撮影用のポータブルSSD(2TB)を初期化することにしました。中身は1.54TB、236,776ファイル。撮影素材、RAW、納品済みのJPEG、動画の書き出しが何年分も溜まっています。

データを消す前に、同じものが別の場所にあることを確認する。当たり前の手順です。手順としては誰も異論がないはずです。

問題は、その「当たり前」が20万ファイルを相手にすると途端に重くなることです。全部突き合わせるには何日もかかる。だから現実には「まあ大丈夫だろう」で消してしまう。正しい手順を知っていても、コストが見合わなければ実行されません。

今回はそこをClaude Code(AIエージェント)に全数照合させました。やってみたら、危ないところでした。「バックアップ済み」と判定されたファイルの中に、実際にはどこにも保存されていないRAWが混ざっていたのです。

この記事は、1.54TBを消す前にやった棚卸しの記録です。同じように外付けドライブを整理しようとしている方の参考になれば。

まず、中身を全部数える

最初にやったのは棚卸しです。SSDとNAS4台、合わせて約280万ファイルのインデックス(パス+サイズの一覧)を作りました。数分で終わります。

ここが今回の分かれ目でした。全件のリストさえ手元にあれば、あとは突き合わせるだけです。逆に言えば、この最初の一歩が重いせいで、多くの整理作業は「勘」で進んでしまいます。

そのうえで「SSDにあるファイルが、NASのどこかに同じものとして存在するか」を突き合わせてもらいました。

SSDの中身のうち53%が既にNASへバックアップ済みだったことを示すグラフ

53%にあたる822GBは、既にNASに存在していました。過去に何度かバックアップを取っていて、その残骸がSSDに残っていたわけです。

SSDはこのあと初期化するので、既にNASにあるものはコピーする必要がありません。つまり移動すべきは残りの719GBだけ。これだけでも、丸ごとコピーするのに比べて作業量が半分になりました。

念のため、重複と判定された大きいファイル25件を抜き出して、先頭と末尾4MBのハッシュを照合してもらいました。全件一致。判定は信用できると確認できました。

ここが危なかった:カメラの連番ファイル名という罠

ここからが今回いちばん肝を冷やした話です。

最初の照合は「ファイル名とサイズが一致すれば同じファイル」という方法でした。一般的なやり方ですし、実際ほとんどのケースで正しく機能します。

ところが写真の照合結果を案件フォルダ単位で見直したとき、おかしなことに気づきました。

「バックアップ済み」と判定されたファイルの実際の所在
SSD側NAS側で見つかった同名ファイル
2025.03.27[七五三]/ _DS21201.ARW2026.05.04[結婚式]/ _DS21201.ARW
2025.03.27[七五三]/ _DS21215.ARW2026.05.04[結婚式]/ _DS21215.ARW

まったく別の撮影のファイルでした。

カメラはファイル名を連番で振ります。カウンターが一周すれば、去年の七五三と今年の結婚式で同じ _DS21201.ARW という名前が生まれる。名前が同じでも中身は別物です。

この誤判定を見逃していたら、まだどこにもバックアップされていないRAW 293枚(約4GB)を、バックアップ済みだと思って消していました。お客様の七五三の撮影データです。

照合方法を「案件フォルダ単位で突き合わせる」やり方に変更してやり直したところ、同じような未保存データが他にも出てきました。合計22.6GB、9,662ファイル。1件や2件ではありませんでした。

ファイル名の一致だけで安心してはいけない。これが今回いちばんの学びです。

未整理だったGoPro素材528GBを日付別に仕分け

棚卸しの過程で、フォルダにドサッと放り込まれたままのGoPro素材が528GB出てきました。ファイル名は GX0001 から始まる連番だけ。いつ撮ったものか、名前からは分かりません。

そこでファイルの更新日時をもとに、撮影日ごとのフォルダへ自動で振り分けてもらいました。

未整理だったGoPro素材を撮影日別24フォルダに振り分けた内訳グラフ

2023年5月15日から6月14日までの24フォルダになりました。NASの既存フォルダが日付ベースの命名なので、そこに揃えた形です。

これで「あの時期に撮ったやつ」が探せるようになりました。放置していたら永久に開かないフォルダだったと思います。

あわせて、動画編集用の汎用素材(エフェクト、SFX、BGMなど)158GBがあちこちに散らばっていたので、00_素材ライブラリ という1箇所に集約しました。

何を残して、何を捨てるか

全部を移すのが安全とは限りません。中には移す意味がないものもあります。

対象判断理由
Capture Oneの現像設定残すレタッチの内容そのもの。失うと作業がやり直しになる
Capture Oneのキャッシュ・プレビュー捨てる開き直せば再生成される。2,705件・2GB
Lightroomのプレビュー捨てる同上
付属のセキュリティソフト捨てるメーカーから再ダウンロードできる

ここは判断が必要なところでした。Capture Oneのフォルダは一見どれも同じような小さいファイルの塊ですが、設定ファイルとキャッシュでは価値がまったく違います。まとめて捨てると現像のやり直しになります。

「キャッシュだから全部消していい」と早合点せず、拡張子とフォルダの役割を1つずつ確認してもらったうえで判断しました。

転送して、消す前に全数照合する

ここまで整理したうえで、実際にNASへ移したのは730.8GB、20,100ファイルでした。

転送後、消す前に2段階で確認しました。

  1. 全20,100ファイルのサイズ照合…転送元と転送先で1件ずつ突き合わせ。全件一致
  2. ハッシュの抜き取り検査…大容量20件・小容量20件を無作為に選び、中身のハッシュを比較。全件一致

そのうえで最後に、SSDの全236,776ファイルについて「NAS上のどこにあるか」または「なぜ移さなくてよいか」を1件残らず確認してもらいました。

残ったのは、再生成できるキャッシュ2,705件と、メーカーから再入手できるインストーラ2件、システムファイル1件だけ。ここまで確認できて初めて初期化しました。

途中で1件、誤検知もありました

最終確認で、コピーしたはずの動画ファイルが1件「見つからない」と出ました。

調べてもらったところ、実際にはコピーされていて、サイズも完全に一致していました。原因はファイル名の文字コードの扱いの違い。SSD(exFAT)とNAS(APFS)で日本語ファイル名の内部表現が異なり、文字列としての比較だけが一致しなかったのです。

この手の差異は、全数照合をかけないと表に出てきません。逆に言えば、照合したからこそ「本当に大丈夫か」を1件ずつ潰せました。

確認のコストが下がると、手順が実行できるようになる

「消す前に全数照合する」は、手順としては昔から正しいものでした。私も頭では分かっていました。それでも今まで実行していなかったのは、単純に割に合わなかったからです。

今回それをやってみて出てきたのが、この2つです。

  • 53%(822GB)は二重に持っていた…無駄に手元を圧迫していた分
  • 22.6GBはどこにも無かった…消していたら戻らなかった分

「全部バックアップしてあるはず」は、半分正解で半分間違いでした。どちらも、数えるまで分からなかったことです。

そして「ファイル名が同じなら同じファイル」という、一見もっともらしい前提が危なかった。お客様の撮影データを消してしまう手前で止まれたのは、面倒でも確かめ直せたからでした。

業務の整理でも似たことが起きます。「たぶんこうなっているはず」で組まれた運用が、数えてみると前提から違っている。正しい手順が実行されない理由は、たいてい知識ではなくコストのほうです。そこが下がると、今まで妥協していた確認が普通にできるようになります。

同じことをする方へ

  • 消す前に必ず全数照合を。「たぶん大丈夫」で消すと取り返しがつきません
  • ファイル名の一致だけで判断しない。カメラの連番は別の撮影とぶつかります。フォルダ単位、できればハッシュで確かめてください
  • キャッシュと設定ファイルを区別する。まとめて捨てると現像がやり直しになります
  • 外付けドライブを唯一のコピーにしない。今回、SSDにしかないデータが719GBありました。これが一番の反省点です

ドライブの整理を先延ばしにしている方は、一度中身を数えてみることをおすすめします。思っているのと違う状態になっているかもしれません。少なくとも私はそうでした。

ちなみにこの転送、8時間20分かかりました。その原因を調べたら、まったく別の問題が見つかります。続きは 「HDDだから遅い」は思い込みでした。AIエージェントに機材トラブルを診断させた記録 に書きました。


「たぶんこうなっているはず」で回っている業務を、数えて確かめるところからご一緒することがあります。正しい手順が実行されない理由は、たいてい知識ではなくコストのほうなので、そこを下げる話からになります。

AI活用・業務改善について

撮影のご相談はこちら