夜間実行されるKilnリポジトリをバックアップするためのrobocopyスクリプトがあります。これは次のようになります。
robocopy "$liveRepoLocation" "$cloneRepoLocation" /MIR /MT /W:3 /R:100 /LOG:"$backupLogLocation\BackupKiln.txt" /NFL /NDL /NP
出力には、次のような「追加ファイル」を含む大量の行があります。
*EXTRA File 153 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdt
*EXTRA File 12 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fdx
*EXTRA File 128 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.fnm
*EXTRA File 363 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.frq
*EXTRA File 13 E:\Kiln Backup\elasticsearch\data\elasticsearch-kiln\nodes\0\indices\kiln-2\0\index\_yxe.nrm
さらに、次のように、 "100%"のみを含む何百もの行が一番下にあります。
100%
100%
100%
100%
100%
100%
100%
ログファイルを巨大化することに加えて(Kilnリポジトリには多くのフォルダー/ファイルが存在します)、ログを今すぐスキャンしてすべてが正常に機能しているかどうかを確認するのは面倒です。
私は考えられるすべてのスイッチの組み合わせを試しましたが(現在のスイッチはコマンドの上記にリストされています)、どちらもこれらを非表示にしていないようです!
そこに/ NCがないことに気づきました。
/ NC:クラスなし-ファイルクラスをログに記録しません。
クラスファイルは... robocopyは微調整された、孤独で余分なものとはどういう意味ですか?
だから私は試してみます:robocopy "$ liveRepoLocation" "$ cloneRepoLocation"/MIR/MT/W:3/R:100/NP /LOG:"$backupLogLocation\BackupKiln.txt "/ NC
編集1
私の悪い。/NCの試行について既に言及したことはありませんでした
ここでテストしました。/MIRオプションはログオプションを無視するようです。また、/ MTはそれを台無しにし、100%を追加します。
私が働いた唯一の方法は
D:\ robocopy> robocopyソースの宛先/ MIR/W:3/R:100/NS/NC/NFL/NDL/NP /LOG:log.txt "。
*実際には/ MIRで動作します。ただし、/ NFLおよび/ NDLを指定する必要があります。君は。
/ MTを試しても、愚かな100%が表示されます
編集2
Robocopyについての質問だったのはわかっていますが、RichCopyを試してみるべきだと思います http://technet.Microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx
コマンドラインは次のとおりです。
richcopy "D:\ robocopy\source" "D:\ robocopy\destination"/P/QO/QP "D:\ robocopy\report.log"/UE/US/UD/UPC/UFC/USC/UPR/UET
RichCopyのGUIを起動し、完了すると閉じます。
そしてここにログがあります
2012/11/28 11:35:19,0、コピー開始、
2012/11/28 11:35:20,0、ソースパス:D:\ robocopy\source、
2012/11/28 11:35:20,0、宛先パス:d:\ robocopy\destination、
2012/11/28 11:35:20,0、ソースファイル数:12ファイル、
2012/11/28 11:35:20,0、コピーされたファイル数:13ファイル、
2012/11/28 11:35:20,0、パージされたファイル数:1,224ファイル、
2012/11/28 11:35:20,0、経過時間:00:00:01、
2012/11/28 11:35:20,0、平均パフォーマンス:1,641,528バイト/秒、
2012/11/28 11:35:20,0、平均パフォーマンス:13ファイル/秒、
2012/11/28 11:35:20,0、コピー完了、D:\ robocopy\source
/XX
オプションを指定すると、余分なファイルがリストから除外されます。逆に、このオプションはLogging
ではなくFile Selection
オプションにリストされています。 /X
ロギングオプションの反対です。
私はこれがうまくいくと思います:
robocopy sourceDir targetDir *.* /njh /njs /ndl /np | find /v "*EXTRA File"
したがって、指定したテキスト「* Extra File」を含む行を除外するために、/ Vを使用して出力を「find」にパイプするだけです。
スイッチの使い方は?
/MIR /MT /W:3 /R:100 /NFL /NDL /NP 2>&1 | findstr /v /L /C:" * EXTRA " | findstr /v /L /C:"100%%" > "log file name with or without path"
だからあなたは
robocopy "$liveRepoLocation" "$cloneRepoLocation" /MIR /MT /W:3 /R:100 /NFL /NDL /NP 2>&1 | findstr /v /L /C:" * EXTRA " | findstr /v /L /C:"100%%" > "$backupLogLocation\BackupKiln.txt"
注:Powershellスクリプトでこれを使用している場合は、.batまたは.cmdファイルでできるように検索するのではなく、findstrを使用する必要があります。/Lと/ C:はfindではサポートされていませんが、findコマンドでは必要ありません。