エクスポート (0) 印刷
すべて展開

Web 配置 filePath プロバイダー

更新日: 2009年8月

適用対象: Windows 7, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP

filePath

filePath プロバイダーは個々のファイルを同期させます。

msdeploy -verb:sync -source:filePath=c:\OriginSite\default.html -dest:filePath=c:\NewSite\default.html

filePath プロバイダーは、-source 引数に指定されたファイルのパスを返すか、同期元ファイルを -dest 引数に指定された同期先ファイルに同期させます。filePath プロバイダーは、1 つのファイルの完全なパス (c:\msdeploy\destinationfolder\file2.txt など) を受け付けます。UNC パスおよびマップされたネットワーク ドライブがサポートされます。%windir% のような環境変数はサポートされますが、ワイルドカード文字はサポートされません。パスにスペースが含まれている場合は、パスを二重引用符で囲む必要があります。

dump

dump 操作では、指定のファイルのパスのみが返されます。-xml 操作設定も指定した場合は、ファイル属性情報を含む結果が XML 形式で返されます。属性出力で ACL 情報を表示するには、次の例に示すように、includeAcls プロバイダー設定を使用します。

msdeploy -verb:dump -source:filepath="c:\Windows\notepad.exe",includeAcls=true -xml

sync

sync 操作では、同期先フォルダーにファイルが存在しない場合は、そのファイルが作成されます。同期先フォルダーにファイルが既に存在する場合、そのファイルは、同期元ファイルと一致するように更新されます。これには、属性情報も含まれます。たとえば、同期先ファイルが読み取り専用であるのに対し、同期元ファイルが読み取りおよび書き込み可能である場合は、同期先ファイルも読み取りおよび書き込み可能となります。filePath の同期元と同期先の値は、同じである必要はありません。同期先ファイルの名前が同期元ファイルの名前と異なる場合、同期先ファイルの名前は同じままですが、ファイル コンテンツは同期元のコンテンツに合わせて更新されます。

Important重要
filePath が同期元である場合は、同期先として archiveDir を使用できません。

Caution注意
FAT ファイル システムで NTFS ファイル システムの ACL を保持することはできないので、NTFS ファイル システムから FAT ファイル システムへのファイルの同期は行わないでください。そのような同期を行っても、警告は表示されません。どのような場合にも Windows Server® 2008 (および IIS 7) を FAT32 ファイル システムにインストールすることはできません。セキュリティ上の理由により、FAT ファイル システムでの IIS 6.0 の使用は推奨されません。

アクセス許可の同期

filePath プロバイダーでは、ACL は自動的に同期されません。それらのアクセス許可もコピーする場合は、includeAcls プロバイダー設定を true に設定すると、ACL が同期の対象に含まれます。アクセス許可は、セキュリティ識別子 (SID) としてコピーされます。ローカル アカウントを使用する場合は、アクセス許可が正しく設定されるように、同期先コンピューターでも、同一の SID を使用する同一アカウントを持つ必要があります。

既定では、includeAclsfalse に設定されています。同期先で作成されるファイルは、同期先の ACL を継承します。

プロバイダー設定

filePath プロバイダーには、カスタム プロバイダー設定である ignoreErrors があり、これは dirPath プロバイダーによっても使用されます。

noteメモ
Web 配置ツールのリリース候補 (RC) バージョンでは ignoreErrors 機能を使用できません。

ignoreErrors

ignoreErrors では、操作中に無視されるようにするファイル システム エラー コードを、セミコロン区切りのリストとして指定します。指定されたエラーが発生すると、警告は表示されますが、操作は続行されます。ignoreErrors が指定されていない場合は、ファイル システム エラーが無視されることはありません。

ignoreErrors プロバイダー設定を使用すると、無視したり後からコピーしたりしても問題のないファイルに対するエラーを無視できるようになるため、便利です。これにより、比較的重大でないと考えられるエラーによって同期操作が失敗することを回避できます。

使用法 1: filePath=<path>,ignoreErrors=<ErrorNumber>[;<ErrorNumber>;…]

msdeploy -verb:sync -source:filepath=c:\Site1\Site1.htm -dest:filepath=c:\Site2\Site2.htm,ignoreErrors=8000020;80070005

<ErrorNumber> は、ファイル システム エラー番号です。たとえば、0x80070020 はファイル使用中エラーであり、0x80070005 はアクセス拒否エラーです。プレフィックス "0x" は任意指定です (80070020 でも 0x80070020 でも有効)。<ErrorNumber> には、値の範囲を指定することはできません。エラー番号が指定されていない場合は、ファイル システム エラーが無視されることはありません。

Caution注意
sync 操作により、ファイルが現在使用中であるフォルダーの削除が試行されると、コマンドで ,ignoreErrors=80070020 (ファイル使用中エラー) が指定されていた場合は、そのファイルがスキップされます。しかし、ディレクトリは空でないため削除できず、ディレクトリの削除は失敗します。

Caution注意
次のような状況で ignoreErrors プロバイダー設定を使用すると、同期先コンピューターのファイルが破損する可能性がありますので注意してください。

  • 同期元のファイルが、同期先のファイルと異なる場合。

  • 同期元のファイルが使用中である (その結果ロックされている) 場合。

  • sync 操作のコマンドで、dirPath プロバイダーまたは filePath プロバイダーに ,ignoreErrors=80070020 が指定されている場合。

このような状況では、同期先のファイルが 0 バイト長のファイルで上書きされます。また、同期元コンピューターがリモートの場所にある場合は、"ファイル使用中" の警告が表示されませんので注意してください。それにもかかわらず、同期操作の実行後、サイトが動作を停止している場合があります。その場合は、同期先のファイル システムに 0 バイトのファイルが存在しないかどうかを確認してください。

contentPath プロバイダーでの ignoreErrors の使用

contentPath プロバイダーでは、filePath プロバイダーと dirPath プロバイダーの両方を使用します。contentPath プロバイダーを使用する場合は、次の構文を使用することで、これらのプロバイダーをうまく活用できます。

使用法 2: contentPath=<path>,filePath.ignoreErrors=<ErrorNumber>[;<ErrorNumber>;…]

この用法では、ignoreErrors の前にピリオドが付いていることに注目してください。

msdeploy -verb:sync -source:contentPath=c:\Site1 -dest:contentPath=c:\Site2,filepath.ignoreErrors=8000020;80070005

この例では、contentPath プロバイダーによって Site1 のコンテンツが Site2 にコピーされるように指定しています。コピー操作中に、同期先のいずれかのファイルで "ファイル使用中" エラーまたは "アクセス拒否" エラーが発生すると、これらのエラーは無視され、操作が続行されます。

関連する Web 配置規則

次の規則は、filePath プロバイダーに関連するものです。

 

規則 説明

DoNotDeleteRule

同期元にないファイルが同期先で保持されるようにします。この規則は既定で無効化されています。

IgnoreFileLastWriteTime

コマンドで -useCheckSum 操作設定が指定されている場合に、ファイルの最終書き込み時刻を無視し、チェックサムに基づいてファイルを比較します。この規則は既定で有効化されています。

SkipNewerFilesRule

書き込み時刻がより新しいファイルに対する更新をスキップします。この規則は既定で無効化されています。

これらの規則は、-enableRule 操作設定を使用して有効化したり、 -disableRule 操作設定を使用して無効化したりできます。これらの規則および操作設定の詳細については、「Web 配置規則」を参照してください。

noteメモ
これらの規則および -useCheckSum 操作設定は、Web 配置ツールのリリース候補 (RC) バージョンでは使用できません。

使用例

1) 指定されたファイルのパスが返されるようにする場合

msdeploy -verb:dump -source:filepath=c:\webdeploy\sourcefolder\file1.txt

2) ファイルのパスおよび属性情報が XML 形式で返されるようにする場合

msdeploy -verb:dump -source:filepath="c:\web deploy\source folder\file 1.txt" -xml

3) 同期元ファイルを使用して同期先ファイルを更新する場合

msdeploy -verb:sync -source:filepath=c:\webdeploy\sourcefolder\file2.txt -dest:filepath=c:\webdeploy\destinationFolder\file2.txt

関連項目

この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました

コミュニティの追加

追加
表示:
© 2014 Microsoft