UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

Cyrus IMAPでデータベースを再構築する

Cyrus IMAPでデータベースを再構築する


0.改訂履歴

  • 2008.05.19 新規作成

1.はじめに

 このドキュメントでは,Cyrys IMAPのサーバにあるデータベースの再構築手順(recontruct)を説明する. 現象として,,メールクライアントとの同期が終了しない等の動作不良があり,サーバ側でsyslogを確認すると,critical database situationというエラーが発生している. 今回対象となるCyrus IMAPは,のは,MacOS X 10.4 Serverで動作している.

2.エラーの確認

  • サーバのメールログを確認する.
May 19 15:50:41 203 imap[334]: DBERROR: critical database situation
May 19 15:50:42 203 imap[354]: DBERROR: critical database situation
May 19 15:53:50 203 lmtpunix[476]: DBERROR: critical database situation
May 19 15:53:52 203 imap[433]: DBERROR: critical database situation
  • データベース接続のエラーが出ている事が確認できた.
  • データベースの修復を行って,回復させる.

3.修復

  • データベースを修復する為に,メールサーバを,停止する.
  • 停止する為には,rootユーザとなる.
mercury:~ ujpadmin$ su
Password:
mercury:/Users/ujpadmin root# serveradmin stop mail
mail:state = "STOPPED"
mail:status = 0
mercury:/Users/ujpadmin root# 
  • 念のために,現在のデータベースを名前を変えて保存しておく.
mercury:/Users/ujpadmin root# mv /var/imap /var/imap.old
mercury:/Users/ujpadmin root#
  • 新しく,データベースを保存するディレクトリを作成する.
mercury:/Users/ujpadmin root# mkdir /var/imap
mercury:/Users/ujpadmin root#
  • IMAPを作成する.
mercury:/Users/ujpadmin root# /usr/bin/cyrus/tools/mkimap
reading configure file...
i will configure directory /var/imap.
i saw partition /var/spool/imap.
done
configuring /var/imap...
creating /var/spool/imap...
done
mercury:/Users/ujpadmin root# 
  • ディレクトリの権限を設定する.
mercury:/var root# chown -R cyrusimap:mail /var/imap
mercury:/var root#
  • IMAPのデータを再構築する.
mercury:/var root# sudo -u cyrusimap /usr/bin/cyrus/bin/reconstruct -i
user/aiwa
user/baba
user/daisuke
user/ebara
user/fujitsu
user/ujpadmin/ToDo
user/ujpadmin/Deleted Messages
user/yamada
user/yamaha
user/yamahada
user/watatsuki
  • アカウントおよりサブフォルだ毎に修復されていく.
mercury:/var root# serveradmin start mail
mail:state = "RUNNING"
mail:status = 0
mercury:/var root# 
  • これでエラーが無ければ終了.


広告スペース
Google