MediaWikiの安定運用のために、定例ルーチンをcronで自動実行させるためのスクリプト例や、特殊な操作を行う場合の方法の解説
目次 |
MediaWikiメンテナンススクリプトgenerateSitemap.phpを使って自動作成する。なお、サイトのURLはhttp://www.example.com/mw/index.php?title=メインページ
のような形式で表されるものとして、自動生成されたsitemap.xmlをsedを使って修正している。
#!/bin/sh PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin MEDIAWIKI_DIR=~/www/mw HTTP_SERVER_URL=http://www.example.com cd $MEDIAWIKI_DIR mkdir sitemap-temp php maintenance/generateSitemap.php --fspath ./sitemap-temp --server $HTTP_SERVER_URL --compress=no cp ./sitemap-temp/*NS_0-0.xml ./sitemap-temp/sitemap.xml sed 's/mw\/index.php\//mw\/index.php?title=/' ./sitemap-temp/sitemap.xml > ./sitemap.xml rm -rf sitemap-temp
ファイルキャッシュ(cacheディレクトリ内のファイル)と、DB内キャッシュ(l10n_cacheテーブル、objectcacheテーブル)内のデータを全て削除する。 システム関連のファイルを改変した場合、これらのキャッシュの破棄が必要。
#!/bin/sh PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin MEDIAWIKI_DIR=~/www/mw MYSQL_SERVER=mysql.example.com MYSQL_USER=tarou_suzuki MYSQL_PASSWD=qwerty MYSQL_DB_NAME=mysql-mwdb rm -rf $MEDIAWIKI_DIR/cache/[0-9a-z]* mysql -h $MYSQL_SERVER -u $MYSQL_USER -p$MYSQL_PASSWD $MYSQL_DB_NAME -e "truncate table objectcache;truncate table l10n_cache;"
特殊な記事名(例 「Mw:テストページ」など、名前空間と記事名をつなげる”コロン”を用いたもの)で編集も削除も出来ないようなページを消す場合、MySQLコマンドラインを用いて記事名を変更することで、再び編集可能な状態に出来る。
<page>
<title>Mw:MediaWiki初期設定</title>
<id>6</id>
<redirect />
<revision>
<id>8</id>
<timestamp>2009-02-01T07:14:54Z</timestamp>
<contributor>
<username>WikiSysop</username>
<id>1</id>
</contributor>
<comment>ページ [[Mw:MediaWiki初期設定]] を [[MediaWiki初期設定]] へ移動: mw:プレフィックス誤用</comment>
<text xml:space="preserve" bytes="">#REDIRECT [[MediaWiki初期設定]]</text>
</revision>
</page>
mysql> select * from page where page_id='6'; +---------+----------------+--------------------------+-------------------+--------------+------------------+-------------+------------------+----------------+-------------+----------+ | page_id | page_namespace | page_title | page_restrictions | page_counter | page_is_redirect | page_is_new | page_random | page_touched | page_latest | page_len | +---------+----------------+--------------------------+-------------------+--------------+------------------+-------------+------------------+----------------+-------------+----------+ | 6 | 0 | Mw:MediaWiki初期設定 | | 0 | 1 | 1 | 0.35501643945463 | 20090201071454 | 8 | 49 | +---------+----------------+--------------------------+-------------------+--------------+------------------+-------------+------------------+----------------+-------------+----------+ 1 row in set (0.01 sec)
mysql> update page set page_title='DummyMwTopic' where page_id='6'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0