Manual:DeleteBatch.php/pt-br
Versão MediaWiki: | ≥ 1.7 |
Arquivo MediaWiki: deleteBatch.php | |
---|---|
Local: | maintenance/ |
Código fonte: | master • 1.43.0 • 1.42.4 • 1.39.11 |
Classes: | DeleteBatch |
Details
deleteBatch.php é um script de manutenção localizado no diretório maintenance
que pode ser utilizado para eliminar um grupo de páginas.
Options/Arguments
Opção/Argumento | Descrição | Required? | Default |
---|---|---|---|
listfile | A file where each line contains the title of a page to be deleted. | Required | |
--u | Nome de usuário que será mostrado nas entradas do registro. Se deixado em branco, eliminações serão atribuídas para o usuário chamado 'script de página de exclusão'. | Optional | Delete page script |
--r | Motivo para exclusões. Se vazio, nenhuma razão será exibida nos registros. | Optional | |
--i | Número de segundos para aguardar após cada eliminação. | Optional | 0 |
Uso
php maintenance/run.php deleteBatch somepages.txt [ --u| --r| --i ]
(Isso excluirá as páginas contidas no arquivo de texto "somepages.txt")
$ php maintenance/run.php deleteBatch deleteBatch.txt Page1 Deleted! Page2 Deleted! Page3 Deleted!
php maintenance/scriptName.php
instead of php maintenance/run.php scriptName
.Em uma wiki farm com pastas ligadas, altere a pasta que contém o arquivo LocalSettings.php e use:
php ./maintenance/run.php deleteBatch --conf ./LocalSettings.php --r "reason for deletion" ./deleteBatch.txt
Tips and Tricks
In case the page titles contain special characters (like ä, ö, ü and so on), make sure to save the file in UTF-8 encoding. Otherwise the script may not be able to find the according page names inside the database!
You can create a pagelist with SQL as follows:
mysql -e "select page_title from page where page_touched between 20150431000000 and 20150519000000 and page_namespace = 0 into outfile '/tmp/pagelist.csv'"
This would create a list with all page titles touched between 2015-04-31 and 2015-05-19. This might be helpful if your wiki got attacked by spambots, and other edits happened during that time.
Other Namespaces
O comando acima cobre somente o Namespace principal. The mysql database may not know the prefix name of other namespaces, so we have to do them one by one. For example, to delete all pages in the User namespace, with the deleteme category and no other text:
mysql -e "select concat('User:',p.page_title) from page p INNER JOIN revision r ON p.page_latest = r.rev_id INNER JOIN text t ON r.rev_text_id = t.old_id where t.old_text = '{{deleteme}}' and p.page_namespace = 2 into outfile '/tmp/deleteme-user.csv'"
Ver também
- Extension:DeleteBatch – extensão de página especial deste script de manutenção.
- Manual:DeleteRevision.php
- Manual:deleteOldRevisions.php