絶賛今データ移行中なんだけど、絶不調遠隔NASからクラウドストレージにwindows でカットペーストしてるときに気が付いたんだけど、GWを直接外に offload する設定にしててよかった。
内部ネットワークから吸い上げて内部ネットワーク使わずにNTTに上げている状況で思っているより順調で助かっている。
ほかの日とのリポートによると普通にコピーの異常終了等起こっているので。
コピー移動ツールとして robocopy を採用。今回のコマンドは
set /a YYYY=%DATE:~0,4%
set /a MM=%DATE:~5,2%
set /a DD=%DATE:~8,2%
set time2=%time: =0%
set hour=%time2:~0,2%
set minute=%time2:~3,2%
set second=%time2:~6,2%
robocopy source target /LOG+:"c:\delete\LogRobocopy\%YYYY%-%MM%-%DD% %hour%.%minute%.%second%.txt" /FFT /E /XO /DCOPY:DATEX /COPY:DAT /TIMFIX /IPG:10 /R:100 /W:1 /NP /ETA /FP /NS /ts /v /TEE
/IPG:5 で少しだけパケットギャップ作って隣のプリンタに対してもおっそい社内ネットに配慮してやろうかと思ったけど、MTとは同時に指定できないらしく無慈悲な設定に。
/FFT はぱっと見同じ時刻のファイルを転送しようとしているので追加。同じNTFSフォーマットのはずなのに。
/XO で転送先の方が新しい時は無視するように設定。デフォルトの設定はミラーを作ろうとするので、古いファイルに置き換わってしまう。
/Sオプションで用のないディレクトリは無くす。方針だったけど、一旦は空のディレクトリうつして、あとから空フォルダ検索して消そう。/E
ディレクトリの情報はデータ 属性 タイムスタンプ EA Xで 代替データストリームのフルオプション。
ログについては /NS でサイズ表記を無くした。あると、Excelに取り込んだ時おかしな解釈となる。
/NPで完全なファイル名に。これもExcel対策
/TS でファイルのタイムスタンプを見たい。
/V でskip した理由が知りたい。
ファイルについては COPY:DATSU で所有者情報だけ消して、コピーすることにした。
クラウドストレージがACLに対応していないとかで 属性は /COPY:DAT と普通に。ACLに対応していないと /SECFIX もエラーになりバックアップが始まらない。
あとやたら /R: リトライ回数が多かったので少なくしたのと、/W:30 で30秒待ちに設定されたので短くした。
>robocopy /? 2024-12-12
-------------------------------------------------------------------------------
ROBOCOPY :: Windows の堅牢性の高いファイル コピー
-------------------------------------------------------------------------------
開始: 2024年12月12日 13:55:17
使用法:: ROBOCOPY コピー元 コピー先 [ファイル [ファイル]...]
[オプション]
コピー元 :: コピー元ディレクトリ (ドライブ:\パスまたは \\サーバー
\共有\パス)。
コピー先 :: コピー先ディレクトリ (ドライブ:\パスまたは \\サーバー
\共有\パス)。
ファイル :: コピーするファイル (名前/ワイルドカード: 既定値は「*.*」
です)
::
:: コピー オプション:
::
/S :: サブディレクトリをコピーしますが、空のディレクトリはコピ
ーしません。
/E :: 空のディレクトリを含むサブディレクトリをコピーします。
/LEV:n :: コピー元ディレクトリ ツリーの上位 n レベルのみをコピーし
ます。
/Z :: 再起動可能モードでファイルをコピーします。
/B :: バックアップ モードでファイルをコピーします。
/ZB :: 再起動可能モードを使用します。アクセスが拒否された場合、
バックアップ モードを使用します。
/J :: バッファーなし I/O を使用してコピーします (大きなファイル
で推奨)。
/EFSRAW :: 暗号化されたすべてのファイルを EFS RAW モードでコピーし
ます。
/COPY:コピーフラグ :: ファイルにコピーする情報 (既定値は /COPY:DAT)。
(copyflags : D=データ、A=属性、T=タイムスタンプ、X=代替データ ストリームをスキップ)。
(S= セキュリティ =NTFS ACL、O= 所有者情報、U= 監査情報)。
/SEC :: セキュリティと共にファイルをコピーします (/COPY:DATS と
同等)。
/COPYALL :: ファイル情報をすべてコピーします (/COPY:DATSOU と同等)。
/NOCOPY :: ファイル情報をコピーしません (/PURGE と共に使用すると便
利)。
/SECFIX :: スキップしたファイルも含むすべてのファイルのファイル セ
キュリティを修正します。
/TIMFIX :: スキップしたファイルも含むすべてのファイルのファイル時刻
を修正します。
/PURGE :: 既にコピー元に存在しないコピー先のファイル/ディレクトリ
を削除します。
/MIR :: ディレクトリ ツリーをミラー化します (/E および /PURGE と
同等)。
/MOV :: ファイルを移動します (コピー後にコピー元から削除)。
/MOVE :: ファイルとディレクトリを移動します (コピー後にコピー元か
ら削除)。
/A+:[RASHCNET] :: コピーされたファイルに指定の属性を追加します。
/A-:[RASHCNET] :: コピーされたファイルから指定の属性を削除します。
/CREATE :: ディレクトリ ツリーと長さ 0 のファイルのみを作成します。
/FAT :: 8.3 FAT ファイル名のみを使用してコピー先ファイルを作成し
ます。
/256 :: 256 文字を超える非常に長いパスのサポートをオフにします。
/MON:n :: コピー元を監視し、n 回を超える変更があった場合に再度実行
します。
/MOT:m :: コピー元を監視し、m 分後に変更があった場合に再度実行
します。
/RH:hhmm-hhmm :: 実行時間 - 新しいコピーを開始できる時刻です。
/PF :: 実行時間をファイルごと (パスごとではない) に確認します。
/IPG:n :: 低速回線で帯域幅を解放するためのパケット間ギャップ (ミリ
秒)。
/SJ :: 接合のターゲットとしてではなく接合として Junctions をコピーします。
/SL:: リンクのターゲットとしてではなくリンクとしてシンボリック リンクをコピーします。
/MT[:n] :: n 個のスレッドのマルチスレッド コピーを実行します (既定値 8)。
n は 1 から 128 までの値である必要があります。
このオプションは、/IPG および /EFSRAW オプションと互換性がありません。
パフォーマンス向上のため、/LOG オプションを使用して出力をリダイレクトします。
/DCOPY:コピーフラグ :: ディレクトリにコピーする情報 (既定値は /DCOPY:DA)。
(copyflags : D=データ、A=属性、T=タイムスタンプ、E=EA、X=代替データ ストリームをスキップ)。
/NODCOPY :: ディレクトリ情報をコピーしません (既定では /DCOPY:DA が実行されます)。
/NOOFFLOAD :: Windows のオフロードをコピーするメカニズムを使用せずに、
ファイルをコピーします。
/COMPRESS :: ファイル転送中にネットワーク圧縮を要求します (適用可能な場合)。
::
:: ファイル選択オプション:
::
/A :: アーカイブ属性が設定されているファイルのみをコピーしま
す。
/M :: アーカイブ属性のあるファイルのみをコピーし、リセットしま
す。
/IA:[RASHCNETO] :: 指定されたいずれかの属性が設定されているファイルのみを含
みます。
/XA:[RASHCNETO] :: 指定されたいずれかの属性が設定されているファイルを除外し
ます。
/XF file [ファイル]... ::
指定された名前/パス/ワイルドカードに一致するファイルを
除外します。
/XD dir [ディレクトリ]... ::
指定された名前/パスに一致するディレクトリを除外します。
/XC :: 変更されたファイルを除外します。
/XN :: 新しいファイルを除外します。
/XO :: 古いファイルを除外します。
/XX :: コピー先にだけ存在するファイルとディレクトリを除外し
ます。
/XL :: コピー元にだけ存在するファイルとディレクトリを除外し
ます。
/IS :: 同一ファイルを含みます。
/IT :: 異常なファイルを含めます。
/MAX:n :: 最大ファイル サイズ - n バイトより大きいファイルを除外し
ます。
/MIN:n :: 最小ファイル サイズ - n バイトより小さいファイルを除外し
ます。
/MAXAGE:n :: 最長ファイル有効期間 - n 日より古いファイルを除外します。
/MINAGE:n :: 最短ファイル有効期間 - n 日より新しいファイルを除外しま
す。
/MAXLAD:n :: 最大最終アクセス日 - n で指定する値以後に使用していない
ファイルを除外します。
/MINLAD:n :: 最小最終アクセス日 - n で指定する値以後に使用されたファ
イルを除外します。
(n < 1900 の場合、n = n 日です。それ以外は、n = YYYYMMDD
の日付です)。
/FFT :: FAT ファイル時間 (2 秒の粒度) を想定します。
/DST :: 1 時間の DST 時間差を補正します。
/XJ:: シンボリック リンク (ファイルとディレクトリの両方) と接合ポイントを除外します。
/XJD:: ディレクトリのシンボリック リンクと接合ポイントを除外します。
/XJF :: ファイルのシンボリック リンクを除外します。
/IM :: 変更されたファイルを含めます (変更日時が異なる)。
::
:: 再試行オプション:
::
/R:n :: 失敗したコピーに対する再試行数: 既定値は 1,000,000。
/W:n :: 再試行と再試行の間の待機時間: 既定値は、30 秒です。
/REG :: /既定の設定としてレジストリに R:n と /W:n を保存します。
/TBD :: 共有名が定義されるのを待ちます (再試行エラー 67)。
/LFSM :: 空き領域不足モードで動作し、コピーの一時停止と再開を有効にします (「注釈」を参照)。
/LFSM:n[KMG] :: 下限サイズを n [K:kilo,M:mega,G:giga] バイトで指定した /LFSM。
::
:: ログ オプション:
::
/L :: リストのみ - いずれのファイルにも、コピー、タイムスタン
プの追加、または削除を実施しません。
/X :: 選択されたファイルのみではなく、余分なファイルをすべて報
告します。
/V :: スキップされたファイルを示す詳細出力を作成します。
/TS :: 出力にコピー元ファイルのタイム スタンプを含めます。
/FP :: 出力にファイルの完全なパス名を含めます。
/BYTES :: サイズをバイトで出力します。
/NS :: サイズなし - ファイル サイズをログに記録しません。
/NC :: クラスなし - ファイル クラスをログに記録しません。
/NFL :: ファイル リストなし - ファイル名をログに記録しません。
/NDL :: ディレクトリなし - ディレクトリ名をログに記録しません。
/NP :: 進行状況なし - コピーの完了率を表示しません。
/ETA :: コピーするファイルの推定完了時刻を表示します。
/LOG:ファイル :: ログ ファイルに状態を出力します (既存のログを上書きしま
す)。
/LOG+:ファイル :: ログ ファイルに状態を出力します (既存のログ ファイルに
追加します)。
/UNILOG:ファイル :: ログ ファイルに UNICODE で状態を出力します (既存のログを
上書きします)。
/UNILOG+:ファイル :: ログ ファイルに UNICODE で状態を出力します (既存のログに
追加します)。
/TEE :: コンソール ウィンドウとログ ファイルに出力します。
/NJH :: ジョブ ヘッダーがありません。
/NJS :: ジョブ要約がありません。
/UNICODE :: 状態を UNICODE で出力します。
::
:: ジョブ オプション:
::
/JOB:ジョブ名 :: 名前の付いたジョブ ファイルからパラメーターを取得します。
/SAVE:ジョブ名 :: 名前の付いたジョブ ファイルにパラメーターを保存します。
/QUIT :: コマンド ラインの処理後に終了します (パラメーターの表示の
ため)。
/NOSD :: コピー元ディレクトリを指定しません。
/NODD :: コピー先ディレクトリを指定しません。
/IF :: 後続のファイルを含みます。
::
:: 注釈 :
::
ボリュームのルート ディレクトリに対して /PURGE または /MIR を使用すると、これまでは、
robocopy は要求された操作をシステム ボリューム情報ディレクトリ内のファイル
にも適用していました。この動作は変更されました。
どちらかを指定すると、robocopy はその名前を持つファイルまたはディレクトリを
(コピー セッションの最上位レベルのソースと宛先ディレクトリで) スキップします。
変更されたファイルの分類は、コピー元とコピー先両方の
ファイル システムが変更タイムスタンプ (NTFS など) をサポートしていて、
コピー元とコピー先のファイルの変更日時が異なり、しかし
それ以外は同じ場合に適用されます。これらのファイルは既定ではコピーされません。/IM を指定して、
それらを含めます。
/DCOPY:E フラグは、拡張属性コピーを
ディレクトリに対して試行することを要求します。現時点では robocopy が継続されます
(ディレクトリの EA をコピーできなかった場合)。このフラグは
/COPYALL 内。
/LFSM を使用することで、robocopy に '空き領域不足モード' での動作を要求します。
そのモードでは、次の場合に robocopy が一時停止します。すなわち、ファイルのコピーによって
コピー先ボリュームの空き領域が '下限' 値を下回る場合です。この値は
フラグの LFSM:n[KMG] 形式によって明示的に指定できます。
/LFSM が明示的な下限値なしで指定されている場合、下限は
コピー先ボリュームのサイズの 10% に設定されます。
空き領域不足モードは、/MT、/EFSRAW、/B、および/ZB と互換性がありません。