Údržbářské skripty

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Maintenance scripts and the translation is 15% complete.

Other languages:
Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎čeština • ‎русский • ‎हिन्दी • ‎ไทย • ‎中文 • ‎日本語
Community Noun project 2280.svg Uživatelé Octicons-terminal.svg Správci wikiserverů Source code project 1171.svg Vývojáři OOjs UI icon language-ltr.svg Překladatelé

Údržbářské skripty se používají pro různé administrativní úlohy, import dat, údržbu, generování reportů a také při aktualizaci. Jsou napsány v PHP a u nainstalované MediaWiki je najdete v podadresáři maintenance.

Jsou to desítky skriptů, které mají různou kvalitou zpracování i užitnou hodnotu. Než nějaký skript použijete, tak byste si měli pozorně přečíst jeho dokumentaci. A pokud není řádně zdokumentován, tak byste si ho měli nejprve prostudovat, abyste věděli co udělá, dřív než ho spustíte.

Konfigurace

Aby bylo možné spouštět údržbářské skripty, které potřebují sáhnout na databázové schéma (jako např. Manuál:Update.php ) a udělat změny ke kterým uživatel nastavený v konfigurační proměnné Manual:$wgDBuser nemá dostatečná práva, tak by měly být nastaveny také konfigurační proměnné $wgDBadminuser a $wgDBadminpassword. Obejdete se bez nich, pokud skriptu při spouštění na příkazové řádce předáte uživatele s těmito právy a jeho heslo přes parametry --dbuser and --dbpass. Předávaná hodnota, resp. hodnota těchto proměnných se může lišit, podle toho jakou databázi jste použili pro svou MediaWiki. Pokud tyto proměnné nejsou nastavené, tak skript použije uživatele z $wgDBuser.

MySQL

Some of the maintenance scripts require database permissions that, for security reasons, the main MediaWiki database account should not have. A separate database account with 'superuser' privileges for just the MediaWiki database should be created (if it does not already exist.) If the database that you use for MediaWiki is called wikidb, then the following SQL would create such a user who can exercise superuser privileges on localhost.:

GRANT ALL PRIVILEGES ON wikidb.* TO 'wikidbadmin'@'localhost' IDENTIFIED BY 'strong-password';

Once the account exists, the account name should be set in the $wgDBadminuser configuration variable. Like other configuration variables, $wgDBadminuser should be set in LocalSettings.php. A password for $wgDBadminuser must be set in the $wgDBadminpassword configuration variable.

PostgreSQL

PostgreSQL uses a different security model than MySQL and the same PostgreSQL server account used for day-to-day operation of the MediaWiki installation must also be used for running the maintenance scripts. This is necessary to ensure that the owner for new tables created by the maintenance scripts is set correctly. You don't need to set $wgDBadminuser or $wgDBadminpassword at all.

Spouštění skriptů

Example of IP address and FTP user name and password on the Godaddy.com hosting site.

The maintenance scripts must then be run from the command line. Users who do not access the server directly from its terminal will usually establish a connection through ssh. For Linux/Unix users this is by using the ssh client in a shell. For Windows users the use of a ssh client application such as the one introduced below is required.

Required program for Windows users: PuTTY or any terminal emulator

Under the Host Name (or IP address) enter the IP Address of your web hosting site.
  • Step 2: In PuTTy, under the Host Name (or IP address) enter the IP Address of your web hosting site (Contact your website provider if necessary) and click Open.
At the login as: line enter the FTP user name.
  • Step 3: A command screen will pop up. At the login as: line enter the FTP user name.
On the FTP user name@IP Address's password line: type the FTP password.
  • Step 4: Enter the FTP password.
The putty command line.
  • Step 5: Change the current directory to the maintenance subdirectory. You can type pwd to see what folder you are currently in. The maintenance folder is in the root mediawiki folder.
$ cd maintenance
  • Step 6: Execute the maintenance script that needs to be run:
$ php rebuildall.php
If you get an error (for example: php.exe is no valid Win32 application), try the following:
$ php-cgi rebuildall.php
In Windows, the command is:
$ C:\path\to\php\php-win.exe C:\path\to\mediawiki\maintenance\rebuildall.php
If your script fails to run, and spews out a lot of error messages, the first thing to try is to set the MW_INSTALL_PATH environment variable to point to the root of your MediaWiki installation. This will help scripts to find the necessary files, and is particularly relevant when running maintenance scripts provided by third-party extensions.

Standard command-line options

Almost every PHP script in /maintenance supports several standard options:

--help
Displays help message
--conf <path>
Location of LocalSettings.php, if not default (at parent directory of the script)
--dbuser <username>
Database account to use instead of the one specified in LocalSettings.php, not used for scripts that don't require a database connection or when SQLite database backend is used
--dbpass <password>
Database password to use instead of the one specified in LocalSettings.php, not used for scripts that don't require a database connection or when SQLite database backend is used
--globals
Output globals at the end of processing for debugging
--memory-limit <value>
Set memory limit for the script. Accepts ordinary numbers, standard php.ini abbreviations (1024K, 20M, 1G), max for no limit (will be used by default if omitted) and default for no change. (zavedeno od 1.17)
--quiet
Suppress non-error output
--wiki <id>
Wiki ID for wiki farms. This may be of the form dbname or dbname-prefix. LocalSettings.php will be run with the MW_DB and MW_PREFIX constants defined accordingly.
--profiler
Profiler output format (usually "text"). (zavedeno od 1.22)
--mwdebug
Enable built-in MediaWiki development settings. (zavedeno od 1.31)

MediaWiki installs that use symlinks

In cases where the MediaWiki php files are symlinked to a central installation, you will need to specify to the maintenance script the path of the LocalSettings.php file. For example:

php maintenance/importImages.php --conf /var/wwwdata/website.org/wiki/LocalSettings.php /tmp/wikiimages .jpg .png .svg

Otherwise you will get this error:

A copy of your installation's LocalSettings.php
must exist and be readable in the source directory.


MediaWiki installs that use shared settings (family type)

Sometimes MediaWiki is installed as a family for many languages and settings (LocalSettings.php) are split to common part and language parts (see Manual:Wiki family#Shared Settings ) where common part is located outside of /w directory and accessed using relative link (require_once "../ExtensionSettings.php";). In this case maintenance scripts will not work when running them in /w/maintenance directory. Run them from /w directory instead:

$ php maintenance/rebuildall.php

No shell access

On many shared hosts, you won't have shell access. The following extensions may be useful to run maintenance scripts via the web: Maintenance and MaintenanceShell .

Přehled údržbářských skriptů

Instead of this probably-outdated list,

Here is the list of files included in the maintenance subdirectory located at the root of a MediaWiki installation. You can contribute to this manual by keeping this list up to date, adding a description of these files' specific purpose and of how an administrator should use them (command line examples, etc.). Be aware that these were created and named on an ad hoc basis so have some usability issues.

maintenance/

maintenance/archives

maintenance/benchmarks

maintenance/dev/includes

maintenance/language

maintenance/oracle

maintenance/storage

maintenance/term

Viz též