MacOS X10.4 Serverでメールをバックアップする
MacOS X10.4 Serverでメールをバックアップする
0.改訂履歴
- 2007.01.19 新規作成
- 2007.01.22 「サーバ管理」ツールを利用した修復について追加.
1.はじめに
このドキュメントでは,MacOS X Server 10.4で稼働しているCyrus IMAPデータのバックアップについて手順を説明する. Macの管理ツールである「サーバ管理」のコマンドライン版serveradminを用いて,mailサービスを停止させ,ステータスを確認し,dittoコマンドでリソースフォークもコピーを行う手法の手順である.
2.サービスの稼働状態を確認
- serveradminツールを使って,サービス名を確認する.
root# sudo serveradmin list
afp
appserver
dhcp
dirserv
dns
filebrowser
ftp
info
ipfilter
jabber
mail
nat
netboot
network
nfs
print
privs
qtss
qtsscontents
signaler
smb
swupdate
vpn
web
webobjects
xgrid
xserve
root#
|
root# sudo serveradmin status mail
mail:state = "RUNNING"
root#
|
3.メールデータのバックアップを行う
root# sudo serveradmin stop mail
mail:state = "STOPPED"
mail:status = 0
root#
|
root# sudo serveradmin status mail
mail:state = "STOPPED"
root#
|
root# du -sh /var/imap
39M /var/imap
root#
|
root# du -sh /var/spool/imap
160M /var/spool/imap
root#
|
root# cd /var/imap
root# ls -la
total 376
drwxr-xr-x 16 cyrusima mail 544 Jan 19 22:55 .
drwxr-xr-x 33 root wheel 1122 Jan 7 15:37 ..
-rw------- 1 cyrusima mail 144 Jan 19 22:55 annotations.db
drwxr-xr-x 9 cyrusima mail 306 Jan 19 22:55 db
drwx------ 5 cyrusima mail 170 Jan 19 22:55 db.backup1
drwx------ 5 cyrusima mail 170 Jan 19 22:25 db.backup2
-rw------- 1 cyrusima mail 159744 Jan 19 22:55 deliver.db
drwxr-xr-x 2 cyrusima mail 68 Jun 18 2005 log
-rw------- 1 cyrusima mail 16824 Jan 19 22:55 mailboxes.db
drwxr-xr-x 2 cyrusima mail 68 Jun 18 2005 msg
drwxr-xr-x 9 cyrusima mail 306 Jan 19 22:59 proc
drwxr-xr-x 2 cyrusima mail 68 Jun 18 2005 ptclient
drwx------ 8 cyrusima mail 272 Jan 19 23:19 quota
drwxr-xr-x 7 cyrusima mail 238 Jan 19 22:55 socket
-rw------- 1 cyrusima mail 8192 Jan 19 04:25 tls_sessions.db
drwx------ 4 cyrusima mail 136 Oct 6 2005 user
root#
|
- バックアップデータ格納用のディレクトリを作成する.
root# mkdir /backup/imap_db
root#
|
- リソースファイルも対象となるので,dittoコマンドでディレクトリ事コピーする.
root# ditto -rsrcFork /var/imap /backup/imap_db
root#
|
root# ls -la /backup/imap_db/
total 376
drwxr-xr-x 16 root admin 544 Jan 19 23:22 .
drwxr-xr-x 4 server admin 136 Jan 19 23:21 ..
-rw------- 1 cyrusima mail 144 Jan 19 22:55 annotations.db
drwxr-xr-x 9 cyrusima mail 306 Jan 19 22:55 db
drwx------ 5 cyrusima mail 170 Jan 19 22:55 db.backup1
drwx------ 5 cyrusima mail 170 Jan 19 22:25 db.backup2
-rw------- 1 cyrusima mail 159744 Jan 19 22:55 deliver.db
drwxr-xr-x 2 cyrusima mail 68 Jun 18 2005 log
-rw------- 1 cyrusima mail 16824 Jan 19 22:55 mailboxes.db
drwxr-xr-x 2 cyrusima mail 68 Jun 18 2005 msg
drwxr-xr-x 9 cyrusima mail 306 Jan 19 22:59 proc
drwxr-xr-x 2 cyrusima mail 68 Jun 18 2005 ptclient
drwx------ 8 cyrusima mail 272 Jan 19 23:22 quota
drwxr-xr-x 6 cyrusima mail 204 Jan 19 22:55 socket
-rw------- 1 cyrusima mail 8192 Jan 19 04:25 tls_sessions.db
drwx------ 4 cyrusima mail 136 Oct 6 2005 user
root#
|
root# cd /var/spool/imap/
/var/spool/imaproot# ls -la
total 0
drwxr-xr-x 4 cyrusima mail 136 Jun 18 2005 .
drwxr-xr-x 8 root wheel 272 Jun 18 2005 ..
drwxr-xr-x 2 cyrusima mail 68 Jan 19 16:18 stage.
drwx------ 9 cyrusima mail 306 Feb 10 2006 user
/var/spool/imaproot# du -sh *
0B stage.
160M user
/var/spool/imaproot#
|
- データベースファイルと同じように,dittoコマンドを使ってバックアップを行い,ファイルを確認する.
/var/spool/imaproot# mkdir /backup/imap_data
/var/spool/imaproot# ditto -rsrcFork /var/spool/imap /backup/imap_data
/var/spool/imaproot# ls -la /backup/imap_data/
total 0
drwxr-xr-x 4 root admin 136 Jan 19 23:27 .
drwxr-xr-x 5 server admin 170 Jan 19 23:27 ..
drwxr-xr-x 2 cyrusima mail 68 Jan 19 16:18 stage.
drwx------ 9 cyrusima mail 306 Feb 10 2006 user
/var/spool/imaproot#
|
root# sudo serveradmin start mail
mail:state = "RUNNING"
mail:status = 0
root#
|
4.メールサーバの復旧に際して
- メールサーバが故障した場合,この手法で取得したバックアップを利用して復元できる.
- 新規にメールサーバをセットアップした際には,前出の方法で取得したデータを元に,既存のデータファイルを消した後に,コピーして戻す.
- その次に,「サーバ管理」ツールで,復旧を行う.
- 復旧が必要かどうかは,メールの保存先で示されるディレクトリの,実際の容量と,ツール上で認識されている容量が合っているかどうかで判断できる.