Podręcznik:DumpBackup.php

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:DumpBackup.php and the translation is 84% complete.
Outdated translations are marked like this.
Other languages:
English • ‎español • ‎polski • ‎português do Brasil • ‎中文 • ‎日本語

Szczegóły

Plik dumpBackup.php tworzy zrzut XML, który może służyć do eksportu lub jako kopia zapasowa. Zrzuty XML zawierają zawartość wiki (strony wiki wraz z wszystkimi ich wersjami), bez danych związanych ze stroną. DumpBackup.php nie tworzy pełnej kopii bazy danych wiki - zrzut nie zawiera kont użytkowników, plików, rejestrów itp.

[1]

Po zakończonym tworzeniu zrzutu, możesz zaimportować zrzut XML.

Przykłady

Musisz nadać nazwę zrzutu danych.

Na przykład ten użytkownik zapisuje całą historię wersji ( --full) do pliku o nazwie dump.xml:

php dumpBackup.php --full > dump.xml
Po więcej szczegółów o tym przykładzie z dump.xml, zobacz Szczegółowy przykład niżej.

Możesz ograniczyć zrzut danych do jednej przestrzeni nazw. W tym przykładzie są to tylko szablony:

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

Aby dołączyć więcej przestrzeni nazw:

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

Przykład wykorzystania wtyczki:

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

lub

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

Opcja --stub może być użyta z dumpTextPass.php .

Z użyciem --include-files:

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

Musi także zostać użyta opcja --uploads. Inaczej nie będą dołączone żadne pliki.

Szczegółowy przykład

W podanym przykładzie zielony tekst to wpisywany tekst.

  1. Przejdź do katalogu maintenance komendą cd. Lokalizacja Twojego katalogu maintenance może się różnić od tego przykładu.
  2. Wpisz php dumpBackup.php --full > dump.xml i wciśnij enter. Zostanie utworzona długa lista kodu, podobna do poniższego przykładu.
dump.xml utworzony w folderze maintenance.

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#

Nowy plik file zostanie utworzony w folderze maintenance (być może będziesz musiał odświeżyć przeglądarkę plików, aby zobaczyć ten plik).

Opcje

Z 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)

Ten skrypt łączy się z baza danych korzystając z nazwy użytkownika i hasła zdefiniowanych przez $wgDBadminuser oraz $wgDBadminpassword , które zazwyczaj ustawia się w LocalSettings.php . Mimo, że AdminSettings.php jest już zbędny, może też zostać wykorzystana nazwa użytkownika i hasło z tego pliku. Zazwyczaj $wgDBadminuser jest użytkownikiem z większymi uprawnieniami niż określony w $wgDBuser , ale do uruchomienia dumpBackup.php nie są wymagane dodatkowe uprawnienia, więc nazwy użytkowników i hasła mogą być takie same. Jeżeli te zmienne nie zostaną ustawione, dumpBackup.php pokaże błąd podczas próby połączenia się z bazą danych:

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

Uwagi

Plik XML jest wysyłany do standardowego wyjścia (stdout); raporty o postępie są wysyłane do standardowego strumienia błędów (stderr). Są to domyślne urządzenia dla wyjścia i wyjścia błędów. Kiedy wywołujesz ten skrypt z powłoki, to obydwa wyjścia zostaną domyślnie wysłane do powłoki, co znaczy: Zobaczysz wyjścia z informacjami i błędami bezpośrednio na ekranie.

Komunikaty błędów

Jeżeli nie jesteś we właściwym folderze, otrzymasz następujący komunikat:

No input file specified.

Skrypt dumpBackup wyświetli "Warning: Division by zero in [DIRECTORY]/maintenance/backup.inc" gdy parametr za "--report" będzie wynosił 0 lub nie będzie liczbą. Poprawką jest uruchomienie dumpBackup bez opcji "--report"; wtedy dumpBackup będzie wyświetlać linię statusu co każde 100 przetworzonych stron.

Recommended configuration settings

  • $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.

Zobacz też

Przypisy

  1. DumpBackup.php creates an XML interchange wrapper.