Windowsリソースキットをインストールすると、RoboCopyがインストールされます。 RoboCopyを使用するいくつかのWindowsスクリプトにアクセスして、それらから始めて別のスクリプトを作成できるようにします。いくつかのサンプルをどこで見つけることができるかについてのアイデアはありますか?
注1:注1:
ちょっとした情報。 DドライブをEドライブ(新しいドライブ)にコピーしようとするたびに、次のようなエラーが発生します。
エラー32(0x000000020)ファイルd:\ pagefile.sysをコピーしています別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。 30秒待っています。
それを理解するのを助けるためだけに。
Robocopyを使用して、9つのWebサーバー間でWebサイトのコンテンツを同期しました。これは、robocopy.exeを実行したバッチファイルのサンプルです。このバッチファイルは、5分または10分ごとに実行するようにスケジュールされていました。または、手動で実行して変更をすぐにプッシュすることもできました。
robocopy.exe d:\inetpub\wwwroot\ \\webserver1\d$\inetpub\wwwroot\ *.* /E /PURGE /SEC /NP /NJH /NJS /XF keepalive_*.* /XD trigger /XD "D:\inetpub\wwwroot\Long Path Name" /R:5 /COPYALL /LOG:copy_to_webserver1.log
前のコマンドは、d:\ inetpub\wwwrootのコンテンツをコピーし、それをリモートサーバーのd:\ inetpub\wwwrootにプッシュします。
/ E =空のサブディレクトリを含むすべてのサブディレクトリをコピーします
/PURGE =ソースに存在しなくなった宛先ファイル/フォルダーを削除します
/SEC =ファイルのセキュリティアクセス許可(ACL)を宛先の場所にコピーします
/NP =コピープログレスバーをオフにします。結果をログに記録する場合は、必ずこれを実行してください
/NJH =ジョブヘッダーをログに記録しない
/NJS =ジョブの概要をログに記録しない
/XF =特定のファイルのコピーを除外します(例:keepalive _。)
/XD =特定のフォルダのコピーを除外する(例:トリガー)
/R =コピーが失敗した場合に再試行する回数を指定します(例:5)
/COPYALL =すべてをコピーします:データ、属性、タイムスタンプ、セキュリティ、所有権、監査情報。/SECを指定してから本当にやり過ぎ
/LOG =結果を指定されたログファイルに記録します(例:copy_to_webserver1.log)
これでRobocopyを始められることを願っています。コンテンツの同期を維持するための信頼性が高く、非常に堅牢なソリューションであることがわかりました。
スクリプトはありませんが、組み込みのドキュメントは非常に理解しやすく、非常に便利です。
robocopy /? | more
リンクされた script は、開いているファイルをコピーするために使用できるテンプレートです。スクリプトのcopyコマンドをrobocopyに変更するだけで、開いているファイルをrobocopyすることができます。
とてもシンプルなので、ほとんどの人が最初から自分でやっています。私は「コードサンプル」を見たことがありません。基本的にはどこからどこへ、いくつかのパラメータがスローされているだけです...しかし、そこにあるさまざまなrobocopy GUI(グーグルだけ)を見てください。それらのほとんどは生成されたコマンドが表示されます。
したがって、Trondhへのコメントを見ると、スケジュールされているRoboCopyスクリプトがいくつかありますが、これを実現する方法は(とにかく私が)スケジュールされたタスクを介して行われます。例として、指定したパラメーターを使用してドライブX:からドライブY:にファイルをコピーするRoboCopyスクリプトがあります。次に、指定した間隔でこのスクリプトを実行するようにスケジュールされたタスクを作成します。このスクリプトの監視が心配な場合は、定期的に確認したい場合は、出力ログを自分自身に電子メールで送信するタスクの2番目のステップを作成できます。
ポイントaからポイントbに1つのフォルダーをコピーするだけで、小さく始めます。必ず/ Lスイッチと/ LOGスイッチを含めてください。/Lスイッチは、コピーしたファイルを一覧表示するだけで、/ Logはログを作成するため、コピーしたいものを確認できます。そこから、複雑さが増します。スクリプトの例:
robocopy "C:\ test_source" "\ server01\C $\test_destination"/L/V/E/LOG: "c:\ test_robocopy.log"/R:10/W:30
2番目の問題(ロックされたファイルのエラーとその後の待機)を解決するには、スイッチ/r
、/w
、および/reg
を使用します。次に例を示します。
robocopy D:\ E:\ /r:1 /w:1 /reg
これは、rがw1秒待ってから1回だけetryすることを意味しますこれらの設定は、registryのデフォルトです。