Jump to content

Manual:dumpBackup.php

From mediawiki.org
This page is a translated version of the page Manual:DumpBackup.php and the translation is 56% complete.
Outdated translations are marked like this.

詳細資訊

dumpBackup.php将创建一个用于导出或备份的XML文档,这个XML将包含wiki的页面内容(甚至是页面历史内容)。 dumpBackup.php不会创建维基数据库的完整备份,产生的转储不包含用户账号、图像、编辑日志和被删除修订等信息。[1] 转储完成后即可导入XML转储

示例

通用例子

首先你要为你的数据转储起一个名字。

例如某用户要往一个文件保存所有的修订历史(使用--full),并将其命名为--full):

php dumpBackup.php --full > pagedump.xml

You can also include the uploaded files by doing:

php dumpBackup.php --full --include-files --uploads > pageandfiledump.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

--stub选项可以与dumpTextPass.php 配合使用。

对于--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 > /var/tmp/dump.xml,按下回车。这将产生类似于下面例子中的一长串代码:

user@server:/$ cd /var/www/html/wiki/w/maintenance

user@server:/var/www/html/wiki/w/maintenance$ php dumpBackup.php --full > /var/tmp/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]

user@server:/var/www/html/wiki/w/maintenance$

新的XML文件将被创建在maintenance文件夹中。(你也许需要刷新一下你的SCP传输工具才会看到它)

选项

As of MediaWiki 1.39:

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.

WARNING: this is not a full database dump! It is merely for public export of your wiki. For full backup, see our online help at: https://www.mediawiki.org/wiki/Backup

Usage: php dumpBackup.php [--7ziplevel|--conf|--current|--dbgroupdefault|--dbpass|--dbuser|--end|--filter|--full|--globals|--help|--include-files|--logs|--memory-limit|--namespaces|--orderrevs|--output|--pagelist|--plugin|--profiler|--quiet|--report|--revend|--revrange|--revstart|--schema-version|--server|--skip-footer|--skip-header|--stable|--start|--stub|--uploads|--wiki]

Generic maintenance parameters:
    --help (-h): Display this help message
    --quiet (-q): Whether to suppress non-error output

Script dependent parameters:
    --dbgroupdefault: The default DB group to use.
    --dbpass: The password to use for this script
    --dbuser: The DB user to use for this script

Script specific parameters:
    --7ziplevel: 7zip compression level for all 7zip outputs. Used for -mx option to 7za command.
    --conf: Location of LocalSettings.php, if not default
    --current: Dump only the latest revision of every page.
    --end: Stop before page_id or log_id n (exclusive)
    --filter: Add a filter on an output branch. Specify as <type>[:<options>]. <types>s: latest, notalk, namespace
    --full: Dump all revisions of every page
    --globals: Output globals at the end of processing for debugging
    --include-files: Include files within the XML stream
    --logs: Dump all log events
    --memory-limit: Set a specific memory limit for the script, "max" for no limit or "default" to avoid changing it
    --namespaces: Limit to this comma-separated list of namespace numbers
    --orderrevs: Dump revisions in ascending revision order (implies dump of a range of pages)
    --output (-o): Begin a filtered output stream; Specify as <type>:<file>. <type>s: file, gzip, bzip2, 7zip, dbzip2, lbzip2
    --pagelist: Dump only pages included in the file
    --plugin: Load a dump plugin class. Specify as <class>[:<file>].
    --profiler: Profiler output format (usually "text")
    --report: Report position and speed after every n pages processed. Default: 100.
    --revend: Stop before rev_id n (exclusive)
    --revrange: Dump range of revisions specified by revstart and revend parameters
    --revstart: Start from rev_id
    --schema-version: Schema version to use for output. Default: 0.11
    --server: The protocol and server name to use in URLs, e.g. https://en.wikipedia.org. This is sometimes necessary because server name detection may fail in command line scripts.
    --skip-footer: Don't output the </mediawiki> footer
    --skip-header: Don't output the <mediawiki> header
    --stable: Dump stable versions of pages
    --start: Start from page_id or log_id
    --stub: Don't perform old_text lookups; for 2-pass dump
    --uploads: Include upload records without files
    --wiki: For specifying the wiki ID

This script connects to the database using the username and password defined by $wgDBadminuser and $wgDBadminpassword , which are normally set in LocalSettings.php . Usually $wgDBadminuser is a user with more privileges than the one in $wgDBuser , but for running dumpBackup.php no extra privileges are required, so the usernames and passwords may be the same. If the variables are not set, dumpBackup.php will fail when trying to connect to the database:

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

备注

The XML file is sent to standard output (stdout); progress reports are sent to standard error (stderr). These are the default output and the output device for errors. When you call the script from the shell, then both outputs should by default be sent to the shell, meaning: You should see "informational" output and errors directly on screen.

错误代码

If you are not in the correct folder, you will receive this message:

No input file specified.

The dumpBackup script says "Warning: Division by zero in [DIRECTORY]/maintenance/backup.inc" when the parameter after "--report" evaluates as 0 or not-a-number. The fix is to run dumpBackup without the "--report" option; then dumpBackup will print a status line every 100 pages processed.

  • $wgRevisionCacheExpiry should be set to 0, to avoid inserting all revisions into the object cache. Most of them won't benefit from being stored in the cache because your readers normally won't view random old revisions of pages on your wiki.

参见

参考资料

  1. dumpBackup.php会创建一个XML的交换用包装器。