Manual:Scripts de manutenção
Os scripts de manutenção são usados para executar várias tarefas administrativas, de importação, manutenção, elaboração de relatórios e atualização. Os scripts são escritos em PHP e ficam no subdiretório maintenance
das instalações do MediaWiki.
Existem dezenas de scripts, com diferentes níveis de uso e de qualidade - por causa disso, é melhor ler atentamente a documentação em um script antes de usá-lo. Se um script não estiver documentado, requer que sejam tomados cuidados adicionais.
Configuração
As variáveis de configuração $wgDBadminuser
e $wgDBadminpassword
devem ser definidas para execução de alguns scripts de manutenção. Os valores para essas variáveis diferem de acordo com o mecanismo do banco de dados usado para alimentar sua instalação do MediaWiki.
Alternatively, you can pass the --dbuser and --dbpass parameters to the script.
The values for these variables differ based on the database engine that is being used to power your installation of MediaWiki.
If not configured, it will use the user configured in Manual:$wgDBuser .
MySQL
Alguns dos scripts de manutenção requerem permissões de banco de dados que, por razões de segurança, a conta do principal banco de dados do MediaWiki não deve ter. Uma conta de banco de dados separada com privilégios de 'superusuário' para apenas o banco de dados do MediaWiki deve ser criado (se ele ainda não existir.) Se o banco de dados que você usa para MediaWiki é chamado wikidb
, então o seguinte código SQL criaria esse usuário que pode exercer privilégios de 'superusuário' no localhost.:
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';
Uma vez que a conta existe, o nome da conta deve ser definido na variável de configuração $wgDBadminuser
. Como outras variáveis de configuração, $wgDBadminuser
deve ser definido no arquivo $2. Uma senha para $wgDBadminuser
deve ser definida na variável de configuração $3.
Like other configuration variables, $wgDBadminuser
should be set in LocalSettings.php .
A password for $wgDBadminuser
must be set in the $wgDBadminpassword
configuration variable.
PostgreSQL
O PostgreSQL usa um modelo de segurança diferente do MySQL, a mesma conta do servidor PostgreSQL utilizada para a operação diárias da instalação do MediaWiki também deve ser utilizado para a execução dos scripts de manutenção. Isso é necessário para garantir que o proprietário das novas tabelas criadas pelos scripts de manutenção esteja definido corretamente. Use: $wgDBadminuser
para $wgDBuser
e $wgDBadminpassword
para $wgDBpassword
.
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.
Executando os scripts
Os scripts de manutenção devem ser executados a partir da linha de comando. Os usuários que não acessam o servidor diretamente do seu terminal geralmente estabelecerão uma conexão através do ssh. Para usuários Linux/Unix, isso é usando o cliente ssh em um shell. For Windows users, one can use the SSH command line tool introduced in Windows 10 or alternatively use a third-party tool such as PuTTY shown below or use Windows Subsystem for Linux.
Usuários do Windows: Programa necessário: PuTTY ou qualquer emulador de terminal
- Passo 1: Baixe e execute o PuTTY, um emulador de terminal.

- Passo 2: No PuTTy, sob o nome do host (ou endereço IP) digite o endereço IP de seu site de hospedagem web (Entre em contato com seu provedor, se necessário) e clique em Open.

- Passo 3: Uma tela de comando irá aparecer. Na linha login as:, digite o nome de usuário FTP.
- Passo 4: Digite a senha FTP.
- Passo 5: Altere o diretório atual para o subdiretório de manutenção. Você pode digitar
pwd
para ver em qual pasta você está atualmente. A pastamaintenance
está na pasta raiz do Mediawiki.
$ cd maintenance
- Passo 6: Execute o script de manutenção que precisa ser executado:
$ php rebuildall.php
- Se aparecer um erro (por exemplo: php.exe is no valid Win32 application), tente o seguinte:
$ php-cgi rebuildall.php
- No Windows, o comando é;
$ C:\path\to\php\php-win.exe C:\path\to\mediawiki\maintenance\rebuildall.php
MW_INSTALL_PATH
para apontar para o diretório raiz da sua instalação do MediaWiki. Isso ajudará os scripts a encontrar os arquivos necessários, e é particularmente relevante quando executar scripts de manutenção fornecidos por extensões de terceiros.
Opções de linha de comando padrão
Quase todos os scripts PHP no diretório /maintenance
suportam várias opções padrão:
- --help
- Exibe a mensagem de ajuda
- --conf <path>
- Localização do arquivo LocalSettings.php, se não for o padrão (no diretório principal do script)
- --dbuser <username>
- A conta de banco de dados a ser usada, ao invés de ser especificada em LocalSettings.php, não é obrigatório em scripts que não exigem uma conexão de banco de dados ou quando é usado o backend do SQLite.
- --dbpass <password>
- Senha de banco de dados para uso, não é usado para os scripts que não exigem uma conexão de banco de dados ou quando o backend de banco de dados SQLite é utilizado.
- --globals
- Variáveis globais de saída no final do processamento para depuração
- --memory-limit <value>
- Define o limite de memória para o script. Aceita números ordinários, abreviaturas php.ini padrão (1024K, 20M, 1G),
max
se não houver limite (será usado por padrão se omitido) edefault
se não houver alterações. (introduzido na 1.17) - --quiet
- Suprime a saída sem erro
- --wiki <id>
- ID wiki para wiki farms. Pode ser
dbname
oudbname-prefix
do formulário. O arquivo LocalSettings.php será executado com as constantesMW_DB
eMW_PREFIX
definida adequadamente. - --profiler
- Profiler output format (usually "text"). (introduzido na 1.22)
- --mwdebug
- Enable built-in MediaWiki development settings. (introduzido na 1.31)
Instâncias do MediaWiki que usam links simbólicos
Nos casos em que os arquivos php do MediaWiki tem link simbólico em uma instalação central, você terá que especificar ao script de manutenção o caminho do arquivo LocalSettings.php. Por exemplo:
php maintenance/importImages.php --conf /var/wwwdata/website.org/wiki/LocalSettings.php /tmp/wikiimages .jpg .png .svg
Caso contrário, você obterá este erro:
A copy of your installation's LocalSettings.php must exist and be readable in the source directory.
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
Sem acesso ao shell
Em muitos hosts compartilhados, você não terá acesso ao shell. As seguintes extensões podem ser úteis para executar scripts de manutenção através da web: Maintenance e MaintenanceShell .
Lista de scripts de manutenção
Em vez dessa lista provavelmente desactualizada,
- Browse the latest contents of the
maintenance
directory. - https://doc.wikimedia.org/mediawiki-core/master/php/ - Veja o resumo da documentação gerada. (Files > File List > maintenance in the tabs or left-hand navigation sidebar)
Aqui está a lista de arquivos incluídos no subdiretório maintenance
localizado no diretório raiz de uma instalação do MediaWiki.
Você pode contribuir para este manual, mantendo esta lista atualizada, acrescentando uma descrição do propósito específico destes arquivos e de como um administrador deve usá-los (os exemplos de linha de comando, etc.)
Be aware that these were created and named on an ad hoc basis so have some usability issues.
maintenance/
maintenance/archives
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
- benchmarkParse.php
- benchmarkPurge.php
maintenance/dev/includes
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
- generateNormalizerDataAr.php
- generateNormalizerDataMl.php
- langmemusage.php
- listVariants.php
- languages.inc
- transstat.php
maintenance/oracle
maintenance/storage
- checkStorage.php
- compressOld.php
- dumpRev.php
- moveToExternal.php
- orphanStats.php
- recompressTracked.php
- resolveStubs.php
- storageTypeStats.php
- testCompression.php
- trackBlobs.php