バックアップから添付ファイルを取得する
ページの添付ファイルは、Confluence にバックアップをインポートする必要なく、バックアップから取得することができます。これは、ユーザーによって削除された添付ファイルを回復する場合に便利です。
「Include attachments」プロパティが設定されていれば、自動バックアップと手動バックアップの両方でこれを行うことができます。ページ、スペース、またはサイトをリストアする場合、代わりに「Confluence 管理者ガイド」を参照してください。
以下の添付ファイルを復旧する手順を実施する前に、ストア ファイルとページ情報をバックアップする方法を確認します。
このページの情報は、Confluence クラウドには適用されません。
ストア ファイルとページ情報のバックアップ方法
バックアップ zip ファイルには、entities.xml、Confluence コンテンツを含む XML ファイル、および添付ファイルを保存しているディレクトリが含まれています。
バックアップ zip ファイルの構造
ページの添付ファイルは、attachments ディレクトリにページと添付ファイル id ごとに保存されています。以下は一覧表示した例です。
Listing for test-2006033012_00_00.zip
\attachments\98\10001
\attachments\98\10002
\attachments\99\10001
entities.xml
attachment ディレクトリ内では、内部にある各番号のディレクトリが1ページであり、その内部にある番号のファイルが1添付ファイルです。ディレクトリの番号はページ id であり、ファイルの番号は添付ファイル id です。たとえば、ファイル \attachments\98\10001 は、ページ id 98 の添付ファイル id 10001 の添付ファイルです。entities.xml を参照して、これらの番号を元のファイル名にリンクさせることができます。entities.xml を使用すると、各ページ id をページ タイトルにリンクさせることもできます。
entities.xml の Attachment オブジェクト
entities.xml 内では、Attachment オブジェクトが XML で記述されています。この例では、ページ id が98、添付ファイル id が10001で、ファイル名が myimportantfile.doc となっています。XML の他の部分は無視することができます。
<object class="Attachment" package="com.atlassian.confluence.pages">
<id name="id">98</id>
<property name="fileName"><![CDATA[myimportantfile.doc]]></property>
...
<property name="content" class="Page" package="com.atlassian.confluence.pages"><id name="id">10001</id>
</property>
...
</object>
entities.xml の Page オブジェクト
この XML はページを示しています。この例では、ページ id が98で、タイトルが Editing Your Files となっています。XML の他の部分は無視することができます。
<object class="Page" package="com.atlassian.confluence.pages">
<id name="id">98</id>
<property name="title"><![CDATA[Editing Your Files]]></property>
...
</object>
添付ファイルの復旧の手順
以下の手順に従って、各ファイルを個別に名前の変更および Confluence に再アップロードする必要があります。3つの方法のうち1つを選択してください。
選択肢 A - ファイル名ごとに添付ファイルを復旧
復元する必要がある各ファイルの名前がわかっている場合、特に数ファイルだけを復元する場合、この方法がベストです。
- バックアップ ファイルを解凍し、entities.xml を開きます。
- entities.xml でファイル名を検索し、そのファイル名の Attachment オブジェクトを見つけます。そのページ id と添付ファイル id を確認します。
- entities.xml から見つけたページ id と添付ファイル id を使用して、attachments ディレクトリに移動し、そのページ id のディレクトリを開きます。その添付ファイル id のファイルを見つけます。
- ファイルの名前を元のファイル名に変更して、テストします。
- 各ファイルに対して繰り返します。
- 各ファイルを再び Confluence にインポートし、Confluence 内からファイルを添付して、元のページにアップロードします。
選択肢 B - ページごとにファイルを復元
特定のページの添付ファイルだけを復元する場合、この方法がベストです。
- バックアップ ファイルを解凍し、entities.xml を開きます。
- entities.xml でページ タイトルを検索し、そのタイトルの Page オブジェクトを見つけます。そのページ id を確認します。
- attachments ディレクトリに移動し、そのページ id のディレクトリを開きます。ディレクトリ内の各添付ファイルの名前を変更する必要があります。
- entities.xml の Attachment オブジェクトをそのページ id で検索します。そのページのすべての添付ファイルには、添付ファイル id とファイル名があります。
- その添付ファイル id のファイル名を元のファイル名に変更し、テストします。
- 各ページに対して繰り返します。
- 各ファイルを再び Confluence にインポートし、Confluence 内からファイルを添付して、元のページにアップロードします。
選択肢 C - すべてのファイルを復元
バックアップが小さく、復元するファイルが、多いまたは内部の添付ファイルすべての場合は、この方法がベストです。
以下の手順は、スペースのエクスポートにのみ適用できます。サイトの xml バックアップでは、永続的な page_id の性質上、手動で更新するのにページ id が必要ありません。
- バックアップ ファイルを解凍し、entities.xml を開きます。
- attachments ディレクトリに移動し、ディレクトリを開きます。そのディレクトリ名はページ id です。ディレクトリ内の各添付ファイルの名前を変更する必要があります。
- entities.xml の Attachment オブジェクトをそのページ id で検索します。見つかったら、添付ファイル id とファイル名を確認します。
- その添付ファイル id のファイル名を元のファイル名に変更し、テストします。
- 次の添付ファイル id を探し、その名前を変更します。ディレクトリ内の各ファイルに対して繰り返します。
- 現在のディレクトリ内のすべてのファイル名を元のファイル名に変更したら entities.xml でページ id、すなわちディレクトリ名を検索します。そのページ id の Page オブジェクトを見つけて、ページ タイトルを確認します。
- ディレクトリの名前をページ タイトルに変更し、次のディレクトリに移動します。attachments ディレクトリ内の名前を変更していない各ディレクトリに対して繰り返します。
- 各ファイルを再び Confluence にインポートし、Confluence 内からファイルを添付して、元のページにアップロードします。