Manual:Maintenance scripts/zh

The maintenance scripts are used to perform various administrative, import, maintenance, reporting and upgrade tasks. The scripts are written in PHP and live in the maintenance subdirectory of MediaWiki installs.

There are dozens of scripts with varying degrees of general utility and quality - because of this, it is best to carefully read the documentation on a script before using it. If a script is not documented, this often indicates that additional care should be taken.

Configuration
The  and   configuration variables must be set in order to run some maintenance scripts. The values for these variables differ based on the database engine that is being used to power your installation of MediaWiki.

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 , then the following SQL would create such a user who can exercise superuser privileges on localhost.:

Once the account exists, the account name should be set in the  configuration variable. Like other configuration variables,  should be set in LocalSettings.php. A password for  must be set in the   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. Simply set  to   and    to.

运行脚本
The maintenance scripts must then be run from the command line.

Required program: PuTTY or any terminal emulator


 * 步骤1：下载并运行PuTTY（一个终端模拟器）
 * 步骤2：在PuTTy，在Host Name （或IP地址）后输入主机的IP地址（必要情况下请联系网站提供商）并点击打开.


 * 步骤3：一个命令行窗口将会弹出. 在login as:后输入FTP 用户名


 * 步骤4：输入FTP密码


 * Step 5: Change the current directory to the maintenance subdirectory. You can type  to see what folder you are currently in. The maintenance folder is in the root mediawiki folder.


 * 步骤6：执行需要运行的维护脚本


 * 如果发生错误（例如：“php.exe is no valid Win32 application”）可以尝试下面的措施：


 * 在Windows中，命令为：

''If your script fails to run, and spews out a lot of error messages, the first thing to try is to set the  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.''

标准命令行选项
Almost every PHP script in /maintenance supports several standard options:
 * --help : 显示帮助信息
 * --conf &lt;path&gt; : Location of LocalSettings.php, if not default (at parent directory of the script)
 * --dbuser &lt;username&gt; : Database account to use, not used for scripts that don't require a database connection or when SQLite database backend is used
 * --dbpass &lt;password&gt; : Database password to use, 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 &lt;value&gt; : 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. Available only since MediaWiki 1.17.
 * --quiet : Suppress non-error output
 * --wiki &lt;id&gt; : Wiki ID for wiki farms. This may be of the form  or  . LocalSettings.php will be run with the   and   constants defined accordingly.

使用symlinks来安装MediaWiki
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 否则会发生如下错误： A copy of your installation's LocalSettings.php must exist and be readable in the source directory.

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: Extension:Maintenance and Extension:MaintenanceShell.

维护脚本列表
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.).

maintenance/archives

 * upgradeLogging.php

maintenance/benchmarks

 * Benchmarker.php
 * bench_HTTP_HTTPS.php
 * bench_delete_truncate.php
 * bench_if_switch.php
 * bench_strtr_str_replace.php
 * bench_utf8_title_check.php
 * bench_wfBaseConvert.php
 * bench_wfIsWindows.php
 * benchmarkHooks.php
 * benchmarkPurge.php

maintenance/language

 * StatOutputs.php
 * alltrans.php
 * checkDupeMessages.php
 * checkExtensions.php
 * checkLanguage.inc
 * checkLanguage.php
 * countMessages.php
 * date-formats.php
 * digit2html.php
 * dumpMessages.php
 * generateCollationData.php
 * generateNormalizer.php
 * langmemusage.php
 * languages.inc
 * messageTypes.inc
 * messages.inc
 * rebuildLanguage.php
 * transsat.php
 * validate.php
 * writeMessagesArray.inc

maintenance/locking

 * LockServerDaemon.php

maintenance/orcale

 * alterSharedConstraints.php

maintenance/storage

 * checkStorage.php
 * compressOld.php
 * dumpRev.php
 * moveToExternal.php
 * orphanStats.php
 * ecompressTracked.php
 * resolveStubs.php
 * storageTypeStats.php
 * testCompression.php
 * trackBlobs.php

maintenance/term

 * MWTerm.php

另见

 * Manual:Writing maintenance scripts
 * Manual:System administration
 * Manual:Upgrading
 * maintenance/README
 * Category:Site management extensions