はじめに
今回、NASからBoxに大容量データを転送する事になりました。
現在のPCの空容量は100GBを切っている状況でデータ転送する必要が有りました。
データ転送の際に自PCの容量が不足し、何回にも分けて処理する事が手間なので、DISK増設してBOXで使用できるの容量のアップを試みました。
最終的に全データ転送したのですが、忘備録として残します。
増設機材について
Boxでは外部ディスクは使えないとの記載が有った為に、内臓DISK(HDD)を購入しました。
HDDにしたのはSSDより安価だったからです。(4TB-HDDを購入)
BOXの設定を参考にしてみる。
を参考にBox Driveの場所を変更してみました。
設定のポイント
1. フォルダの準備
D:\Cloud
2. レジストリの修正
HKEY_LOCAL_MACHINE\SOFTWARE\Box\Box にキーを追加
| 名前 | 型 | 値 |
|---|---|---|
| CustomBoxLocation | (REG_SZ) | D:\Cloud |
3. Boxの再起動
この結果、D:\CloudにBoxフォルダができました。
しかし、PowerShellのGet-Volumeで確認した所、Cドライブと同じ容量に!
この設定は、Boxの場所が通常ユーザーフォルダに作成されるのを、パスを同じにする為の設定であって、Dドライブに移動し、データ容量を増やす事では無いという事でした。
ではどのようにするか?
Box Driveのキャッシュを変更
BoxはBox Driveに実ファイルは存在していません。従ってOneDriveのように実ファイルとクラウドファイルが有る訳ではありません。ではどのに保存さているのか?
Box Driveのキャッシュ場所
C:\Users<ユーザー名>/AppData/Local/Box/Box が関係しています。
そのフォルダにある、cache と unsyncedFiles が関係しています。
Box Driveのキャッシュ場所 をDドライブに移す
手順は下記の通り
- Boxのログアウト(同期されていない事を確認する事)
- Boxのアンインストール
- 該当箇所にリンクを作成
- Boxのインストールとログイン
となります。
リンクの作成方法
Boxのアンインストール後はフォルダが有りません。
事前に cache と unsyncedFiles を作成します。
※Cmdは管理者モードで
mkdir D:\BoxCache
mkdir D:\BoxCache\Box
mkdir D:\BoxCache\Box\unsyncedFiles
mkdir D:\BoxCache\Box\cache
(ここら辺の構成はお任せです。)
その後にリンクを作成します。
mkdir C:\Users<ユーザー名>\AppData\Local\Box
mkdir C:\Users<ユーザー名>\AppData\Local\Box\Box
mklink /d C:\Users<ユーザー名>\AppData\Local\Box\Box\unsyncedFiles D:\BoxCache\Box\unsyncedFiles
mklink /d C:\Users<ユーザー名>\AppData\Local\Box\Box\cache D:\BoxCache\Box\cache
動作確認
Boxをインストールしログイン後、再度容量を確認するとBoxの大容量化が実現しました。
データ転送の実行
ここから本番です。
今回はRoboCopyを使用しました。
ROBOCOPY <元のフォルダ> <先のフォルダ> /LOG:<ログファイル名> /MIR /R:100 /W:5 /TEE /FFT /XF Thumbs.db
::
:: コピー オプション:
::
/MIR :: ディレクトリ ツリーをミラー化します (/E および /PURGE と同等)。
/E :: 空のディレクトリを含むサブディレクトリをコピーします。
/PURGE :: 既にコピー元に存在しないコピー先のファイル/ディレクトリを削除します。
::
:: 再試行オプション:
::
/R:n :: 失敗したコピーに対する再試行数: 既定値は 1,000,000。
/W:n :: 再試行と再試行の間の待機時間: 既定値は、30 秒です。
::
:: ログ オプション:
::
/LOG:ファイル :: ログ ファイルに状態を出力します (既存のログを上書きします)。
/TEE :: コンソール ウィンドウとログ ファイルに出力します。
::
:: ファイル選択オプション:
::
/FFT :: FAT ファイル時間 (2 秒の粒度) を想定します。
/XF file [ファイル]... :: 指定された名前/パス/ワイルドカードに一致するファイルを除外します。
/FFTはBoxとローカルファイルの時間で誤差が生じるらしく、フラグが無いとファイルが存在しても全て新しいファイルと認識されます。
以上で大容量転送が完了でした。
追加
大容量転送の際に新規データが多いとcacheにファイルが溜まりBoxがクラッシュしました。
時々クリアする必要が有ります。
クリア手順は
①Boxログアウト(転送が完了しているか確認後に)
②cache と unsyncedFiles のファイルを削除
③Boxログイン
unsyncedFiles にあるファイルは Box で転送しないファイルが残っています。
詳しくは下記参照