MediaWikiでの画像のエクスポートとインポート



Exporting Importing Images Mediawiki



解決:

ターミナルソリューション

MediaWiki管理者は、サーバーのターミナルで、を使用してメンテナンスタスクを実行できます メンテナンススクリプト フレームワーク。新しいMediawikiバージョンは、以下に説明するタスクですべての標準スクリプトを実行しますが、古いバージョンにはいくつかのバグがあるか、すべての最新のスクリプトがない場合があります。 バージョンナンバーgrep wgVersion include /DefaultSettings.php。

注:引用されている(以下の)すべてのスクリプトには、-ヘルプオプション、例えば
php Maintenance / importImages.php --help



元の画像フォルダ

ユーザーは、Special:Uploadページからファイルをアップロードします。管理者は、拡張子のホワイトリストを使用して、許可されるファイルの種類を構成できます。アップロードされると、ファイルはファイルシステム上のフォルダに保存され、サムネイルは専用のサムディレクトリに保存されます。

Mediawikiの画像フォルダはで圧縮することができますzip -r〜 / Mediafiles.zip imagesコマンドですが、このzipはあまり良くありません:



  • 不気味なファイルがたくさんあります:「削除されたファイル」と「古いファイル」( 現在 )ファイル名を次のように20160627184943!MyFig.png、およびサムネイルMyFig.png /120px-MyFig.jpg。

  • データ交換または長期保存のポーパースの場合、それは無効です... ぶさいくなimages /?/ ?? / *フォルダ形式 いつものように、「すべての画像ファイルが1つのフォルダにある」ので適切ではありません。

画像のエクスポート/インポート

「エクスポートおよびインポート」の場合 1つのフォルダ内の現在のすべての画像 MediaWikiサーバーのターミナルには、段階的な単一の手順があります。



ステップ1: を使用してイメージダンプを生成します dumpUploads (と-ローカルまたは-保存が必要な場合の共有オプション)、 txt 使用中のすべての画像ファイル名のリスト。

mkdir / tmp / workingBackupMediaFiles php Maintenance / dumpUploads.php  | sed's〜mwstore:// local-backend / local-public〜。/ images〜 ' | xargs cp -t / tmp / workingBackupMediaFiles zip -r〜 / Mediafiles.zip / tmp / workingBackupMediaFiles rm -r / tmp / workingBackupMediaFiles

このコマンドにより、イメージバックアップフォルダの標準zipファイルが作成されます。yorユーザールートディレクトリのMediafiles.zip(〜/)。

注:心配していない場合は 醜いフォルダ構造 、より直接的な方法は

phpメンテナンス/dumpUploads.php  | sed's〜mwstore:// local-backend / local-public〜。/ images〜 ' | zip〜 / Mediafiles.zip [メール保護]

Mediawikiバージョンによると--base = ./オプションは正常に機能し、削除できますパイプのsedコマンド。

ステップ2: バックアップが必要ですか?画像のコピーをインストールしますか? ...必要なのはMediafiles.zip、およびMediawikiがインストールされており、コンテンツがありません... Wikiにコンテンツがある場合は、ファイル名のconflicks(!)の問題を確認してください。もう1つの問題は、ファイル形式とアクセス許可の構成です。これは、新しいWikiと同じかそれよりも広い必要があります。「マニュアル:ファイルアップロードの構成」を参照してください。

ステップ-3: ダンプを復元します( 新しいWikiへ )、メンテナンスツールを使用します。手順1を使用してzipファイルにエクスポートして保存したとすると、

unzip〜 / Mediafiles.zip -d / tmp / workingBackupMediaFiles php Maintenance / importImages.php / tmp / workingBackupMediaFiles rm -r / tmp / workingBackupMediaFiles php Maintenance / update.php php Maintenance / rebuildall.php

以上です。チェックして、新しいWikiをナビゲートします スペシャル:NewFiles


完全なエクスポートまたは保存

古いMediaWikiの「すべての画像とすべての記事」をエクスポートするため、完全なバックアップまたはコンテンツの保存のため。各ステップでいくつかの手順を追加します。

ステップ1: ...上記の手順1を参照してください...そして、テキストコンテンツダンプを生成するには 古いウィキから

php Maintenance / dumpBackup.php --full | gzip>〜/ dumpContent.xml.gz

注:代わりに-完全に使用できます-現在のオプション。

ステップ2: ...あなたが必要dumpContent.xml.zipおよびMediafiles.zip ...古いWikiから。両方のzipファイルを〜フォルダ。

ステップ-3: 走る 新しいWikiで

unzip〜 / Mediafiles.zip -d / tmp / workingBackupMediaFiles gunzip -c〜 / dumpContent.xml.gz | php Maintenance / importDump.php --no-updates  --image-base-path = / tmp / workingBackupMediaFiles rm -r / tmp / workingBackupMediaFiles php Maintenance / update.php php Maintenance / rebuildall.php

以上です。また確認してください スペシャル:AllPages 新しいウィキの。


ページをエクスポートするように画像を自動的にエクスポートする方法はありません。画像を右クリックして、[画像を保存]を選択する必要があります。画像ページの履歴を取得するには、Special:Exportページを使用します。

画像をインポートするには、WikiのSpecial:Uploadページを使用します。それらがたくさんある場合は、画像のインポートスクリプトを使用できます。注:画像をアップロードするには、通常、sysopグループに属している必要があります。


-すべてエクスポート:

あなたがウェブの所有者でなくても(もちろん、所有者がこの機能を無効にしていない場合)、[API]を使用してMediaWikiウェブからすべてのページとすべての画像を取得できます。

ステップ1 :APIを使用して、すべてのページのタイトルとすべての画像のURLを取得します。あなたはそれを自動的に行うためにいくつかのコードを書くことができます。

ステップ2 :次に、[Special:Export]を使用して、取得したタイトルのすべてのページをエクスポートし、あなたがリンクを持っていたすべての画像を取得するwget(このようにwget -i img-list.txt)。

-すべてインポート:

ステップ1 :[Special:Import]を使用してページをインポートします

ステップ2 :[Manual:ImportImages.php]を使用して画像をインポートします。