Manual:dumpBackup.php

From Linux Web Expert

詳細

dumpBackup.phpはエキスポートもしくはバックアップのために XMLファイルを作成します。XMLダンプはwikiコンテンツ (各ページのすべての版) を含みますが、サイト関連データは含みません。 DumpBack.php はウィキ データベースのフルバックアップは行わず、利用者アカウント、アップロードファイル、編集記録、削除された版などは含まれません。[1] ダンプを作成した後、XMLをインポートできます。

一般的な例

ダンプファイルの名前を決める必要があります。

例えば、すべての変更履歴 ( --full) を dump.xml に保存する場合:

php dumpBackup.php --full --quiet > dump.xml
例として使用しているdump.xmlの詳細は下の詳細な例を参照してください。

データダンプは 名前空間 ひとつに制限可能です。最新の版のテンプレートのみの場合:

php dumpBackup.php --current --quiet --filter=namespace:10 > templates.xml

すべての版のテンプレートの場合 :

php dumpBackup.php --full --quiet --filter=namespace:10 > templates.xml

複数の名前空間を含めるには :

php dumpBackup.php --current --quiet --filter=namespace:10,11 > templates_plus_template_talk.xml

プラグインの使用例:

php dumpBackup.php \
  --plugin=AbstractFilter:extensions/ActiveAbstract/AbstractFilter.php \
  --current \
  --output=gzip:/dumps/abstract.xml.gz \
  --filter=namespace:NS_MAIN \
  --filter=noredirect \
  --filter=abstract \
  --quiet

または

php dumpBackup.php \
  --plugin=MathMLFilter:../extensions/MathSearch/maintenance/MathMLFilter.php \
  --current \
  --filter=namespace:NS_MAIN \
  --filter=mathml \
  --quiet

The --stub option can be used with dumpTextPass.php .

To --include-files:

php dumpBackup.php \
  --full \
  --include-files \
  --uploads \
  --output=gzip:/dumps/abstract.xml.gz \
  --quiet

--uploadsオプションも使用する必要があります。そうでないと、ファイルが含まれません。

詳細な例

この例で、緑色の文字が入力した文字です

  1. cdコマンドを使用してmaintenanceフォルダに移動します。maintenanceフォルダはご使用の環境により変化します。
  2. php dumpBackup.php --full > dump.xml と入力して、Enterキーを押します。次のような長いリストが表示されます。
File:Location dump.jpg
maintenanceフォルダに作成されたdump.xmlファイル

root@356:/# cd /home/trav/public_html/finddcjobs.com/public/w/maintenance

root@356:/home/trav/public_html/finddcjobs.com/public/w/maintenance# php dumpBackup.php --full > dump.xml

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 0 pages (0.0|0.0/sec all|curr), 100 revs (404.7|404.7/sec all|curr), ETA 2014-08-15 09:54:11 [max 1143]

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 0 pages (0.0|0.0/sec all|curr), 200 revs (499.7|652.8/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 10 pages (19.2|83.8/sec all|curr), 300 revs (577.4|838.3/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 17 pages (24.1|91.4/sec all|curr), 400 revs (567.0|537.9/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 18 pages (15.6|40.2/sec all|curr), 500 revs (433.4|223.1/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 23 pages (15.4|66.8/sec all|curr), 600 revs (400.6|290.5/sec all|curr), ETA 2014-08-15 09:54:11 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 59 pages (36.0|412.4/sec all|curr), 700 revs (426.6|699.0/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 62 pages (36.2|856.3/sec all|curr), 800 revs (466.9|1381.2/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:10: my_wiki-finddcjobs (ID 23578) 89 pages (48.8|798.3/sec all|curr), 900 revs (493.2|896.9/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:10: my_wiki-finddcjobs (ID 23578) 120 pages (62.4|1224.2/sec all|curr), 1000 revs (520.1|1020.2/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:10: my_wiki-finddcjobs (ID 23578) 124 pages (59.0|697.5/sec all|curr), 1100 revs (523.7|562.5/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

root@356:/home/trav/public_html/finddcjobs.com/public/w/maintenance#

新しいxmlファイルがmaintenanceフォルダに作成されます (xmlファイルを表示するにはSCPを更新する必要がある場合があります) 。

オプション

MediaWiki r105912 以降:

This script dumps the wiki page or logging database into an
XML interchange wrapper format for export or backup.

XML output is sent to stdout; progress reports are sent to stderr.

Usage: php dumpBackup.php <action> [<options>]
Actions:
  --full      Dump all revisions of every page.
  --current   Dump only the latest revision of every page.
  --logs      Dump all log events.
  --stable    Stable versions of pages?
  --pagelist=<file>
			  Where <file> is a list of page titles to be dumped
  --revrange  Dump specified range of revisions, requires
              revstart and revend options.
Options:
  --quiet     Don't dump status reports to stderr.
  --report=n  Report position and speed after every n pages processed.
			  (Default: 100)
  --server=h  Force reading from MySQL server h
  --start=n   Start from page_id or log_id n
  --end=n     Stop before page_id or log_id n (exclusive)
  --revstart=n  Start from rev_id n
  --revend=n    Stop before rev_id n (exclusive)
  --skip-header Don't output the <mediawiki> header
  --skip-footer Don't output the </mediawiki> footer
  --stub      Don't perform old_text lookups; for 2-pass dump
  --uploads   Include upload records without files
  --include-files Include files within the XML stream
  --conf=<file> Use the specified configuration file (LocalSettings.php)

  --wiki=<wiki>  Only back up the specified <wiki>

Fancy stuff: (Works? Add examples please.)
  --plugin=<class>[:<file>]   Load a dump plugin class
  --output=<type>:<file>      Begin a filtered output stream;
                              <type>s: file, gzip, bzip2, 7zip
  --filter=<type>[:<options>] Add a filter on an output branch
  --7ziplevel=<0-10>          Level of 7zip compression (0 - no compression is default)

このスクリプトは通常LocalSettings.php で設定された$wgDBadminuser $wgDBadminpassword を使用してデータベースに接続します。 通常$wgDBadminuserは$wgDBuser より強い権限を持つユーザーですが、dumpBackup.phpを実行するために追加の権限は必要ないため、ユーザー名とパスワードは同じ場合があります。 もし変数が設定されていない場合、dumpBackup.phpはデータベースへの接続に失敗します。

$ php dumpBackup.php --full
DB connection error: Unknown error

注記

XMLファイルは標準出力(stdout)に出力され、進捗状況は標準エラー出力(stderr)に出力されます。 これらは既定の出力とエラー出力です。 このスクリプトをシェルから呼び出すと、両方の出力は既定通りシェルに送信され、"データ"の出力とエラーが画面に表示されます。

エラー メッセージ

もしカレントディレクトリが間違っている場合は、次のメッセージが表示されます。

No input file specified.

"--report"の後ろの変数が0もしくは数字でない場合、"Warning: Division by zero in [DIRECTORY]/maintenance/backup.inc"と表示されます。 解決策として、"--report"オプションなしでdumpBackupを実行します。その場合、100ページごとに進捗状況が出力されます。

推奨される環境設定

  • すべての版がオブジェクトキャッシュに挿入されないように、$wgRevisionCacheExpiry を 0 に設定する必要があります。 wikiの読者は通常、ランダムに古い版を読むことはないので、それらがキャッシュに保存される必要性は低いです。

関連項目

脚注

  1. DumpBackup.php creates an XML interchange wrapper.