コマンドラインツール

ここでは、MailDepotのコマンドラインツールについて説明します。

MailDepotのコマンドラインツールは、ライセンスの管理やディスクの追加・削除といった管理ツールから行うことのできない操作や、管理ツールのユーザの追加やパスワードの変更などといった補助的な操作を行うためのツールです。 md_diskaddやmd_snapshotなどの一部のコマンドは root ユーザによって実行する必要がありますが、それ以外のコマンドラインツールは MailDepot のスーパーユーザ(maildepot)によって実行する必要があります。

maildepotユーザに切り替える場合には、次のコマンドを実行します。

# su - maildepot

MailDepotのコマンドラインツールは、/opt/maildepot3/bin ディレクトリに格納されており、コマンドを実行する際には絶対パスを指定する必要があります。

$ /opt/maildepot3/bin/md_useradd default maildepot

環境変数PATHに /opt/maildepot3/bin ディレクトリを追加することで、コマンド名のみを指定してコマンドを実行することができるようになります。

$ export PATH=/opt/maildepot3/bin:$PATH

md_license

ライセンス情報を管理します。

製品のライセンスならびにオプションライセンスの詳細については、「ライセンス管理」のページをご覧ください。

list モード

インストールされているライセンス情報を表示します。

使用方法

md_license list

説明

md_license list を実行すると以下のようにライセンス情報が出力されます。

$ md_license list
organization           : sra oss
name                   : maildepot
capacity limitation    : 1024 GB
domain limitation      : 50 domains
serial                 : XXXX-XXXX-XXXX-XXXX
multi_domain_serial    : XXXX-XXXX-XXXX-XXXX
personal_search_serial : XXXX-XXXX-XXXX-XXXX

表示される情報の意味は以下のとおりです。

organization

インストール時に登録した組織名が表示されます。

name

インストール時に登録したユーザ名が表示されます。

capacity limitation

インストールされているライセンスの容量制限が表示されます。

domain limitation

マルチドメインライセンスオプションがインストールされている場合、最大ドメイン数が表示されます。
インストールされていない場合は表示されません。

serial

インストールされている MailDepot 本体のシリアルキーが表示されます。

multi_domain_serial

インストールしたマルチドメインオプションのシリアルキーが表示されます。

personal_search_serial

インストールした個人メール検索オプションのシリアルキーが表示されます。

add / delete モード

ライセンスのインストールまたはアンインストールを行ないます。

使用方法

md_license add SERIAL
md_license delete SERIAL

引数

SERIAL

インストールまたはアンインストールするライセンスキーを指定します。

説明

ライセンス変更の反映には MailDepot サービスの再起動が必要となります。

md_domain

ドメイン情報を管理します。

list / list-html モード

登録されているドメインの情報を表示します。 list-html は実行結果を HTML 形式で出力します。

使用方法

md_domain list [-h]
md_domain list-html [-h]

オプション

-h, --human-readable

ドメインのメール保存容量、容量制限を単位 (KB、MB、GB、TB) 付きで表示します。

説明

md_domain list を実行すると以下のようなドメイン情報が出力されます。

$ md_domain list -h
domain_name  status   service  size      limit
----------------------------------------------
tokyo        online   running   3.3GB      *
ohsaka       online   running   1.2GB    10GB
nagoya       online   running  93.1MB    10GB
test         offline  stopped   6.2MB     1GB
--
Total size:
  limit      1024GB
  online      4.6GB
  total       5.5GB
Number of domains:
  limit          50
  online          3
  total           4

表示される情報の意味は以下のとおりです。

domain_name

登録されているドメイン名を表示します。

status

ドメインの状態を online または offline で表示します。 offline の場合、対象のドメインは停止状態となり、メールの取り込みが停止するとともに、対象ドメインに対して管理ツールが使用できなくなります。

service

メールの取り込み処理が行われているかどうかを running または stopped で表示します。 stopped の場合、メールの取り込み処理は行われません。

size

ドメイン毎のメールの保存容量を表示します。

limit

ドメインごとに設定されている容量制限を表示します。 "*" が表示される場合は、ドメインごとの容量制限は設定されていません。

Total size

ライセンスによる全体の容量制限、オンライン状態の使用容量、全ドメインの合計使用容量を表示します。

Number of domains

ライセンスによるドメイン数制限、オンライン状態のドメイン数、登録されている全ドメイン数を表示します。

add モード

ドメインを追加します。

使用方法

md_domain add DOMAIN [-d DATABASE] [-s SIZE] [-o] [-m ADDRESS] [-n]

引数・オプション

DOMAIN

追加するドメイン名を指定します。 ドメイン名には半角英数字とアンダースコア(_)が使用できます。大文字小文字は区別されません。

-d, --dbname DATABASE

追加するドメインが使用するデータベースを指定します。 指定されなかった場合、ドメイン名と同じ名前がデータベース名として使用されます。

-s, --size-limit SIZE

追加するドメインの容量制限を SIZE にて指定します。K, M, G, T や KB, MB, GB, TB などの単位が利用できます。 指定されなかった場合 "*" が指定され、作成するドメインに対する容量は制限されません。

-o, --offline

このオプションが指定された場合、追加するドメインをオフラインの状態で追加します。

-m, --mail-address ADDRESS

アラートメールの送信元アドレスを指定します。 オプションの指定がない場合、送信元アドレスには下記のアドレスが設定されます。

maildepot@[MailDepotサーバホスト名]
-n, --no-useradd

ドメインの追加後に管理ツールの管理ユーザを追加するためのプロンプトを表示しません。

説明

md_domain add を実行するとデフォルトでドメインの追加後に管理ツールの管理ユーザを追加するためのプロンプトを表示されます。 ここで表示されるプロンプトは md_useradd コマンド に -g administrator オプションを指定して実行した場合に表示されるものと同じです。

$ md_domain add fukuoka
Enter name of user to create: test
Enter password for new user:
Enter it again:
Enter mail address for new user: test@example.com

delete モード

ドメインを削除します。 指定されたドメインがメール取り込み処理を実行中の場合には、処理が停止した後にドメインを削除します。 ドメインを一時的に検索対象からはずしたい場合には、delete モードではなく offline モードを利用してください。

使用方法

md_domain delete DOMAIN [-r]

引数・オプション

DOMAIN

削除するドメイン名を指定します。

-r, --drop-database

ドメインで使用していたデータベース(メールアーカイブや操作ログなどが含まれています)を同時に削除します。

online / offline モード

ドメインの状態をオンラインまたはオフラインに変更します。 オフライン状態のドメインは、管理ツールへのアクセスやメールの取り込み等の MailDepot の機能が利用できなくなります。

使用方法

md_domain online DOMAIN
md_domain offline DOMAIN

引数

DOMAIN

状態をオンラインまたはオフラインに変更するドメイン名を指定します。

size モード

ドメインのディスク容量制限を変更します。

使用方法

md_domain size SIZE DOMAIN

引数

SIZE

指定したドメインにディスク容量制限を指定します。 単位には K, M, G, T や KB, MB, GB, TB が利用できます。 制限を行なわない場合には、"*" を指定してください。

md_domain size "*" DOMAIN

* 文字をクォーテーション記号 (") で括る必要があります。

DOMAIN

ディスク容量制限を変更するドメイン名を指定します。

md_diskadd

アーカイブメールを保存するディスク領域を追加します。
本コマンドは root ユーザによって実行する必要があります。

使用方法

md_diskadd [-f] DEVICE [LABEL [FILESYSTEM]]
md_diskadd [-f] -t DIRECTORY [LABEL]

引数

-f

ディスクを高速ディスクとして追加します。 高速ディスクとして追加されたディスクは 設定ファイル maildepot.conf 内の fastdisk パラメータに設定されます。

DEVICE

追加するディスク領域のデバイス名を指定します。

-t DIRECTORY

ファイルシステムをマウントしたディレクトリを指定します。 マウント済みのファイルシステムをメールアーカイブの保存領域として使用する場合に指定します。

LABEL

管理ツールの「ディスク管理」画面で表示されるディスク名 (ラベル) を指定します。 デバイスを指定した場合には、ディスク領域(ファイルシステム)に設定されるラベル、および、ファイルシステムをマウントするディレクトリ名にもなります。 ラベルを指定しなかった場合には、自動的にdisk1、disk2、...というラベル名が自動的に設定されます。

FILESYSTEM

作成するファイルシステムを指定します。xfs(デフォルト)、ext4、ext3 が指定できます。

説明

md_diskadd コマンドは、指定されたデバイスまたはディレクトリをメールアーカイブの保存領域として追加します。

デバイスを指定した場合には、ファイルシステムの初期化、ファイルシステムのマウントを行なった上で、MailDepot がメールアーカイブを保存できるようにディレクトリの所有者やグループ、アクセス権限を変更します。また、システムファイル /etc/fstab にファイルシステムのエントリーを追加し、OS の起動時に自動的にディスク領域がマウントされるように設定されます。

# md_diskadd /dev/sda3 disk1

md_diskaddコマンドによって追加したディスク領域は、管理ツールの「ディスク管理」画面に表示され、 メールアーカイブの保存領域として利用されるようになります。

注意: 指定したデバイスにすでにファイルシステムが作成されている場合は、md_diskaddコマンドの実行によってファイルシステムが初期化されるため、ファイルシステム上のファイルはすべて削除されます。

md_diskdel

ディスクを削除します。

使用方法

md_diskdel LABEL

引数

LABEL

削除するディスクのラベルを指定します。

説明

md_diskdelコマンドは、指定されたラベルのディスク領域に保存されているメールアーカイブを、メールパーティション(月ごとに作成されるメールのデータを保存する領域)毎に別のディスク領域に移動し、指定されたディスク領域を削除します。

  1. md_diskdelコマンドを実行すると削除するディスク領域に存在するメールパーティションの一覧が表示されます。

    md_diskdel: disk labeled "disk1" contains following partitions:
      _2006_01
      _2006_05
      _2006_09
      _2007_01
      _2007_05
      _2007_09
      _2008_01
  2. 削除するディスク領域に存在するメールパーティションの移動先のディスク領域を指定します。

    Need to move partitions to following disks:
      0: cancel
      1: disk2
      2: disk3
      3: disk4
      4: pg_default
    Enter number of destination disk to move: 1

    pg_defaultという名前のディスクはインストール時から存在するディスクです。

  3. 移動先を選択すると、メールパーティションが別のディスク領域に移動され、ディスク領域が削除されます。

      Table "attachments_2006_01" is done.
      Table "attachments_2006_05" is done.
      Table "attachments_2006_09" is done.
      :
      Index "messages_regdateidx_2007_05" is done.
      Index "messages_regdateidx_2007_09" is done.
      Index "messages_regdateidx_2008_01" is done.

    なお、ファイルシステムのアンマウントや /etc/fstab からのエントリーの削除は自動的に行われません。

md_useradd

管理ツールにユーザを追加します。

使用方法

md_useradd DOMAIN [options]

引数

DOMAIN

ドメイン名を指定します。

オプション

-U, --user=USERNAME

追加するユーザのユーザ名を指定します。

-P, --password=PASSWORD

追加するユーザのパスワードを指定します。

-a, --external-auth

ユーザ認証に外部認証を利用します。

-g, --group=GROUPNAME

追加するユーザが所属するグループを、administrator (管理)、user (一般)、operator (運用)、monitor (監視)、auditor (監査)、manager (監督) の中から指定します。 オプションが指定されなかった場合のデフォルトは user です。 指定したグループによりアクセス権限が設定され、ユーザの所属グループにより管理ツールで使用可能な機能が異なります。 グループのアクセス権限についての詳細は アクセス権限 のページを参照してください。

説明

オプションを指定せずに md_useradd コマンドを実行すると、追加するユーザの名前、パスワード、メールアドレスの入力を求めるプロンプトが表示されます。

  1. 追加するユーザの名前を入力します(引数としてユーザ名を指定していない場合のみ)。

    Enter name of user to create: test
  2. パスワードを入力します。

    Enter password for new user:
    Enter it again:
  3. メールアドレスを入力します。

    Enter mail address for new user: test@example.com

管理ツールの「ユーザ管理」画面からユーザを追加することもできます。 管理ツールからユーザを作成する場合、ユーザのパスワード指定はなく、自動生成されたパスワードがユーザのメールアドレスに送信されます。

md_passwd

管理ツールのユーザのパスワードを変更します。

使用方法

md_passwd DOMAIN USERNAME

引数

DOMAIN

ドメイン名を指定します。

USERNAME

パスワードを変更するユーザの名前を指定します。

説明

オプションを指定せずに md_passwdコマンドを実行すると、パスワードを変更するユーザの名前と変更後のパスワードの入力を求めるプロンプトが表示されます。

  1. パスワードを変更するユーザの名前を入力します(引数としてユーザ名を指定していない場合のみ)。

    Enter name of user to change password: test
  2. 変更後のパスワードを入力します。

    Enter new password for user "test":
    Enter it again:

自分のパスワードの変更は管理ツールの「個人設定」画面から行うこともできます。

md_backupall

MailDepot ではメールアーカイブや操作ログ、レポート情報などの情報をデータベース上に保存しています。 md_backupall コマンドは、このデータベースの全てのデータと設定ファイルをバックアップします。

使用方法

md_backupall DOMAIN

引数

DOMAIN

バックアップ対象のドメイン名を指定します。

説明

md_backupallコマンドを実行すると、データベースと各種設定ファイルのバックアップを取得し、ドメイン毎に設定されているバックアップディレクトリ上にバックアップファイルを作成します。

バックアップディレクトリはデフォルト設定では下記のディレクトリとなっており、管理ツールより変更する事できます。

/opt/maildepot3/domain/ドメイン名/backups

また、md_backupall コマンドで作成されるバックアップファイルは、下記のようなファイル名となります。

maildepot_all-20110330151744.tar.gz

この名前に含まれる「20110328185602(年月日時分秒)」はバックアップした日時によって異なります。

md_backupallコマンドを実行すると、下記のような処理メッセージが表示されます。

$ md_backupall ドメイン名
  Partition "_2010_04" is done.
  Partition "_2010_05" is done.
  Partition "_2010_06" is done.
  Partition "_2010_07" is done.
  Partition "_2010_08" is done.
  Partition "_2010_09" is done.
  Partition "_2010_10" is done.
  Partition "_2010_11" is done.
  Partition "_2010_12" is done. 
  Partition "_2011_01" is done.
  Partition "_2011_02" is done.
md_backupall: creating backup file: /opt/maildepot3/domain/ドメイン名/backups/maildepot_all-20110330151744.tar.gz

作成されたバックアップファイルには以下のファイルが含まれています。

globals.sql

グローバルオブジェクト(データベースのロールとテーブル空間)のダンプファイル

settings.sql

管理ツールの設定情報のダンプファイル

backup_YYYY_MM.sql

メールパーティション(月ごとに作成されるメールのデータを保存する領域)のダンプファイル
ファイル名に含まれる「_YYYY_MM」はメールを取り込んだ年月を表わしており、メールパーティションの数だけファイルが含まれています。

maildepot.conf

ドメイン毎の MailDepot の設定ファイル

md_authenticity.conf

MailDepot の改竄証明に利用するファイル

postgresql.conf

PostgreSQLの設定ファイル

pg_hba.conf

PostgreSQLのクライアント認証ファイル

pg_ident.conf

PostgreSQLのident認証ファイル

リストア方法

ここでは、バックアップを取得したサーバとは別のサーバに MailDepot をインストールし、インストール直後にリストアすることを前提に説明します。 ハードウェア障害などにより同じサーバに MailDepot を新規に再インストールした場合も同様の手順となります。

  1. リストアの対象となるドメインの追加を行います。

    追加するドメインのドメイン名はバックアップ元のドメイン名とは異なる名称を指定しても構いません。 インストール時に作成されるドメイン (デフォルトのドメイン名は default) にリストアする場合にはこの手順は必要ありません。

    $ /opt/maildepot3/bin/md_domain add NEW_DOMAIN

    上記の例では NEW_DOMAIN がリストアの対象となるドメインです。

  2. リストア先のドメインのデータベースを初期化を行なうため、リストア先のドメインのデータベースを削除します。
    $ /opt/maildepot3/bin/dropdb NEW_DOMAIN
    $ /opt/maildepot3/bin/psql -l
                                    List of databases
        Name    |   Owner   | Encoding | Collation | Ctype |    Access privileges    
    ------------+-----------+----------+-----------+-------+-------------------------
     default    | maildepot | UTF8     | C         | C     | 
     postgres   | maildepot | UTF8     | C         | C     | 
     template0  | maildepot | UTF8     | C         | C     | =c/maildepot           +
                |           |          |           |       | maildepot=CTc/maildepot
     template1  | maildepot | UTF8     | C         | C     | =c/maildepot           +
                |           |          |           |       | maildepot=CTc/maildepot
    (4 rows)
    
  3. リストア先のドメインで使用するデータベースを新規に作成します。

    $ /opt/maildepot3/bin/createdb NEW_DOMAIN
    $ /opt/maildepot3/bin/psql -l
                                    List of databases
        Name    |   Owner   | Encoding | Collation | Ctype |    Access privileges
    ------------+-----------+----------+-----------+-------+-------------------------
     default    | maildepot | UTF8     | C         | C     | 
     postgres   | maildepot | UTF8     | C         | C     | 
     NEW_DOMAIN | maildepot | UTF8     | C         | C     | 
     template0  | maildepot | UTF8     | C         | C     | =c/maildepot           +
                |           |          |           |       | maildepot=CTc/maildepot
     template1  | maildepot | UTF8     | C         | C     | =c/maildepot           +
                |           |          |           |       | maildepot=CTc/maildepot
    (5 rows)
    
  4. バックアップファイルを展開します。

    $ tar -xzf maildepot_all-20110328185602.tar.gz
    $ cd maildepot_all-20110328185602
    $ ls
    backup_2010_04.sql  backup_2010_09.sql  backup_2011_02.sql    pg_ident.conf
    backup_2010_05.sql  backup_2010_10.sql  globals.sql           postgresql.conf
    backup_2010_06.sql  backup_2010_11.sql  maildepot.conf        settings.sql
    backup_2010_07.sql  backup_2010_12.sql  md_authenticity.conf
    backup_2010_08.sql  backup_2011_01.sql  pg_hba.conf
    
  5. >md_authenticity.conf のリストア

    リストア先として作成したドメインの下記の md_authenticity.conf 設定ファイルをバックアップファイルに含まれている md_authenticity.conf と置き換えてください。

    /opt/maildepot3/domain/ドメイン名/etc/md_authenticity.conf
    
    md_authenticity.conf にはメールの改竄検知に必要な情報が含まれており、このファイルをリストアしないとリストアされたメールの改竄検査に失敗します。
  6. maildepot.conf の設定

    maildepot.conf はドメイン毎に配置される設定ファイルで、/opt/maildepot3/domain/ドメイン名/etc に配置されています。 この maildepot.conf をバックアップファイルに含まれる maildepot.conf を参照して必要なパラメタを修正してください。 superuser と名前が db_ で始まる設定 (db_datadir やdb_hostname など) は修正しないでください。 各設定値に関する詳しい説明は maildepot.conf のページを参照してください。

  7. グローバルオブジェクトをリストアします。

    $ /opt/maildepot3/bin/psql -f globals.sql postgres
    SET
    SET
    SET
    psql:globals.sql:15: ERROR:  role "maildepot" already exists
    ALTER ROLE
    CREATE TABLESPACE

    「ERROR: role "maildepot" already exists」というようなエラーメッセージが表示されますが、これは、データベースクラスタを作成した際に自動的に作成されたデータベースのスーパーユーザを再度作成しようとしたために表示されるものであり問題はありません。

  8. 関数を登録します。

    $ /opt/maildepot3/bin/psql -f /opt/maildepot3/share/postgresql/contrib/textsearch_ja.sql ドメイン名
    $ /opt/maildepot3/bin/psql -f /opt/maildepot3/share/maildepot/functions.sql ドメイン名
  9. 管理ツールの設定情報をリストアします。

    $ /opt/maildepot3/bin/psql -f settings.sql NEW_DOMAIN
    SET
    SET
    SET
    :
    ALTER TABLE
    ALTER TABLE
    ALTER TABLE
    
  10. メールパーティションをリストアします。

    データのリストアには少なくともバックアップ処理時間の2倍〜3倍の処理時間が必要となります。 なお、必要なデータのみをリストアすることによってリストアの時間を短縮することもできます。

    すべてのデータをリストアする場合:
    $ cat backup_*.sql | /opt/maildepot3/bin/psql NEW_DOMAIN
    SET
    SET
    SET
    :
    ALTER TABLE
    ALTER TABLE
    ALTER TABLE
    
    必要なデータのみリストアする場合:
    $ /opt/maildepot3/bin/psql -f backup_2010_05.sql NEW_DOMAIN
    SET
    SET
    SET
    :
    ALTER TABLE
    ALTER TABLE
    ALTER TABLE
    

    psqlコマンドの -f オプションにはリストアするメールパーティションのダンプファイルを指定します。 ダンプファイルの名前「backup_2010_05.sql」に含まれる数字「_2010_05(_年_月)」はメールを取り込んだ年月を表わしており、上記は2010年5月のデータをリストアする例となります。

    注意1: バックアップファイルに当月のメールパーティションが含まれている場合は、メール取り込みを開始する前に当月のメールパーティションをリストアする必要があります。 当月のメールパーティションがリストアされていない場合には、メール取り込みを開始する際に自動的に当月のパーティションが作成されてしまいます。

    注意2: バックアップファイルに含まれているが、リストアしていないパーティションは、管理ツールの「バックアップ」画面から手動で削除して下さい。

  11. md_domain list コマンドにて追加したドメインの状態を確認します。

    $ /opt/maildepot3/bin/md_domain list

    status が online になっていれば、管理ツールにアクセスが可能です。

md_backup_day

指定された日付のデータを日単位でバックアップ、削除、リストアします。

使用方法

md_backup_day DOMAIN backup [-d] [-o FILENAME] YYYYMMDD
md_backup_day DOMAIN delete YYYYMMDD
md_backup_day DOMAIN restore [-f] FILENAME

引数

DOMAIN

ドメイン名を指定します。

YYYYMMDD

バックアップもしくは削除の対象となる日付を指定します。

FILENAME

リストアするファイル名

-d, --delete

バックアップが成功した場合にデータを削除します。

-o, --output=FILENAME

バックアップのファイル名を指定します。 指定なしの場合のデフォルト値は ./maildepot_YYYY_MM_DD.tar.gz となります。

-f, --force

デフォルトの動作では、リストア対象の日付のデータが既に存在する場合は、リストアを行ないません。 このオプションを指定して場合には、リストア対象の日付のデータが既に存在する場合もリストアを行ないます。

-?, --help

ヘルプを表示します。

-V, --version

バージョン情報を表示します。

説明

注意

バックアップを作成したサーバとは異なる別のサーバの MailDepot にリストアを行なう場合、 リストアならびにメールの取り込みを実行する前に、md_authenticity.conf のリストアを行なってください。 md_authenticity.conf にはメールの改竄検知に必要な情報が含まれており、このファイルをリストアしないとリストアされたメールの改竄検査に失敗します。

md_partition

管理ツールの「データ管理」の「バックアップ」画面で操作する内容を、コマンド行から実行するためコマンドです。

md_partition コマンドでは、以下の操作を提供しています (メールパーティションとは各月の保存メールを指しています)。

使用方法

md_partition list DOMAIN [MAILPARTITION]
md_partition offline DOMAIN MAILPARTITION
md_partition online DOMAIN MAILPARTITION
md_partition upgrade DOMAIN [MAILPARTITION]
md_partition backup DOMAIN [-d] MAILPARTITION
md_partition delete DOMAIN MAILPARTITION
md_partition restore DOMAIN MAILPARTITION
md_partition path DOMAIN [MAILPARTITION]

引数

引数にはモードとメールパーティションがあります。

モード
list

指定したメールパーティションの状態を表示します。
メールパーティションを指定しない場合は、すべてのメールパーティションの状態を表示します。 状態名は下記の「状態名一覧」を参照してください。 表示内容は次のとおりです。

パーティション  サイズ  バックアップ状態  パーティション状態  ディスク
offline

指定したメールパーティションを検索対象外にします。

online

指定したメールパーティションをオンラインにします。

upgrade

指定したメールパーティションをアップグレードします。
旧バージョンの MailDepot で作成されたバックアップデータをリストアした場合、 パーティションのアップグレードが必要となります。

アップグレードの必要がない場合、実行時に下記の出力となります。

$ /opt/maildepot3/bin/md_partition upgrade default
md_partition: All partitions already upgraded.

$ /opt/maildepot3/bin/md_partition upgrade default 201501
md_partition: Partition 201501 is already upgraded.
backup

指定したメールパーティションをバックアップします。
-d オプションを併用した場合、バックアップ後に指定したメールパーティションを削除します。

delete

指定したメールパーティションを削除します。

restore

指定したメールパーティションをリストアします。
バックアップ配置ディレクトリにバックアップファイルが置かれている必要があります。

path

指定したメールパーティションのバックアップファイルのパスを表示します。

メールパーティションを指定しない場合は、バックアップファイルを配置するディレクトリのパスを表示します。

メールパーティション
MAILPARTITION

書式は YYYYMM となります。

共通のオプション
-?, --help

ヘルプを表示します。

-v, --version

バージョン情報を表示します。

説明

状態名一覧
バックアップ状態

OST 未バックアップ (Out Standing)
CMP バックアップ済み (Completed)
HLD バックアップ待ち (On Hold)
FAL バックアップ失敗 (Failed)
PRG バックアップ中 (In Progress)

パーティション状態

PRG メール取り込み中 (Mail Archiving in Progress)
ONL オンライン中 (Online)
DEL 削除済み (Deleted)
OST 検索対象外 (Out of Search Targets)

終了コード

コマンドの処理が正常に終了した場合には終了コード 0、異常終了した場合にはエラーメッセージを表示し、終了コード 1 を返します。 なお、メール取り込み処理などが起動中の場合には終了コード 2 を返します。

md_export_oplog

MailDepot の操作ログをカンマ区切り形式でファイルに出力します。

使用方法

md_export_oplog DOMAIN [-l LINES] [-o FILENAME] [-e ENCODING] [YYYY[MM[DD]]]

引数

[YYYY[MM[DD]]]

出力の対象となる年月日を指定します。指定のない場合にはすべての操作ログを対象とします。

-l LINES

md_export_oplog コマンドは、出力する操作ログの行数が多い場合には、ログを複数のファイルに分割します。 オプションが指定されない場合には、デフォルトで 65,535 行でファイルを分割します。
オプションに 0 を指定した場合には、ファイルの分割を行ないません。

-o FILENAME

指定した名前のファイルに操作ログを出力します。 オプションが指定されなかった場合の デフォルト値は ./maildepot_oplog_YYYY_MM_DD.csv となります。

-e ENCODING

出力する操作ログの文字エンコード(sjis/utf8/eucjp) を指定します。 オプションが指定されなかった場合の デフォルト値は sjis となります。

-?

ヘルプを表示します。

-V

バージョン情報を表示します。

説明

md_snapshot

MailDepot に保存されている全てのデータ(メールアーカイブ、操作ログ、統計情報など)を一括してバックアップ、リストアするコマンドです。

md_snapshot コマンドは、MailDepot のデータ保存領域 (デフォルトでは /opt/maildepot3/data) に保存された全てのデータに対し、 ファイルシステムレベルによる効率的な差分バックアップを行う事により、 md_backupall コマンド と比べ高速なバックアップとリストアを実現します。 ただし、md_snapshot コマンドによるバックアップは、md_partition コマンドmd_backup_day コマンドのような部分的なデータの保存はできません。

md_snapshot コマンドは root ユーザで実行する必要があります。

使用方法

md_snapshot backup  [--ignore-checksum]
md_snapshot restore  [--ignore-checksum]
md_snapshot show

backup モード

全てのデータをバックアップします。

全てのデータのスナップショットを、/opt/maildepot3/snapshots ディレクトリに保存します。 スナップショットの保存先は、ディスク装置に障害が発生しても復旧できるように、データの保存領域 (デフォルトでは /opt/maildepot3/data) とは異なるディスク上に配置することを推奨します。 スナップショットの保存先は、設定ファイル maildepot.conf 内の snapshot_dest パラメータ で変更できます。

スナップショットは2世代まで保存され、それ以前の世代のスナップショットは、バックアップ時に自動で削除します。 このため、md_snapshot コマンドを使用するには、動作中の MailDepot のデータ保存領域のディスク使用量に対し、 スナップショットを保存領域として最大で 2 倍のディスク空き容量が必要です。 ただし、2 つの世代間は差分データ だけが保存されるため、実際には 2 倍の容量は必要としません。

  1. md_snapshot コマンドを backup モードで実行します。

    # /opt/maildepot3/bin/md_snapshot backup
    Backup started
  2. 以上でバックアップは完了です。

    Backup completed

スナップショットの保存先のディレクトリ構成は以下のとおりです。

/opt/maildepot3/snapshots
|-- cur/  1 世代前のスナップショット
|   |-- backupinfo    バックアップ情報
|   |-- datadir/      データ
|   |-- tablespaces/  テーブル空間内のデータ
|   |-- archivelog/   アーカイブログ
|   `-- config/       設定ファイル
|       |-- system/   システムの設定ファイル
|       `-- domain/   各ドメインの設定ファイル
|           |-- ドメイン名/
|           :
`-- old/  2 世代前のスナップショット (ディレクトリ構成は 1 世代前と同じ)

--ignore-checksumオプションを指定すると、本コマンド内で使用される rsyncコマンドにおいて同ファイルの判定をファイル内容チェックサムではなく、タイムスタンプとサイズで行うようになります。

restore モード

スナップショットからデータをリストアします。

リストアは最後にバックアップした時点までデータをリストアします。 バックアップ後に保存されたデータは復旧されません。

  1. md_snapshot コマンドを restore モードで実行します。

    # /opt/maildepot3/bin/md_snapshot restore
    Recovery started
  2. サービスが起動中の場合には停止するかどうかを確認します。 n と入力した場合にはリストアが中断されます。

    Are you sure you want to stop Maildepot Service? [y/n] (default: y)
    Maildepot Service stopping...
    Maildepot Service stopped
  3. 復旧前のデータを退避するかどうかを確認します。

    Do you want to backup DATADIR and TABLESPACE folders before recovery? [y/n] (default: y)

    y と入力した場合には復旧前のデータを別のファイル名で退避し、n と入力した場合には削除します。

  4. リストアの処理を実行します。 リストアに成功するとサービスを起動するかどうかを確認します。

    Do you want to start Maildepot Service? [y/n] (default: y) 

    y と入力した場合にはサービスを再起動します。

    Maildepot Service starting...
    Maildepot Service startted

    n と入力した場合には、 リストア完了後に手動でサービスを起動する必要があります。 設定ファイルを復旧する場合にはここで n と入力し、 リストア完了後に手動で設定ファイルを復旧してからサービスを起動して下さい。

  5. 退避しておいた復旧前のデータを削除するかどうかを確認します。 y と入力した場合には復旧前のデータは削除します。

    Do you want to delete backuped DATADIR and TABLESPACE (.restore) folders? [y/n] (default: y)
  6. 以上でリストアは完了です。

    Restore completed

設定ファイルをバックアップ時点の状態に復旧する場合には、リストア後に手動で設定ファイルをコピーします。

# cp -r /opt/maildepot3/snapshots/cur/config/system/* /opt/maildepot3/etc
# cp -r /opt/maildepot3/snapshots/cur/config/domain/ドメイン名/* /opt/maildepot3/domain/ドメイン名/etc

--ignore-checksumオプションを指定すると、本コマンド内で使用される rsyncコマンドにおいて同ファイルの判定をファイル内容チェックサムではなく、タイムスタンプとサイズで行うようになります。

show モード

スナップショットの状態を表示します。

# /opt/maildepot3/bin/md_snapshot show
ID     TOTAL     BACKUP_START_TIME     ELAPSED_TIME
===================================================
cur    75.1MB    2012-12-17 15:12:38   3s
old    43.1MB    2012-12-17 14:50:34   2s

ID の cur は 1 世代前、old は 2 世代前のスナップショットを表します。 TOTAL はスナップショットのディスク使用量、BACKUP_START_TIME はバックアップの開始時間、ELAPSED_TIME はバックアップの実行時間を表します。

md_download

MailDepot に保存されたメールを EML 形式でエクスポートします。

使用方法

md_download DOMAIN [options]

引数

DOMAIN

ドメイン名を指定します。

-v, --verbose

処理経過のメッセージを出力します。

-c, --check

メールが改竄されていないかどうかを検査します。

-z, --zip [NAME]

指定した名前の ZIP ファイルにエクスポートしたメールを保存します。 デフォルトでは日付をもとに YYYY-MM-DD-HH:MM-PID.zip というファイル名なります。

-d directory

指定したディレクトリにエクスポートしたメールを保存します。 デフォルトでは /opt/maildepot3/ドメイン名/var/download ディレクトリに保存します。

-f YYYY-MM-DD

取り込み日時の開始日を指定します。

-t YYYY-MM-DD

取り込み日時の終了日を指定します。

-s ADDRESS

送信者アドレスを指定します。

-r ADDRESS

受信者アドレスを指定します。

--from ADDRESS

From ヘッダのアドレスを指定します。

--to ADDRESS

To ヘッダのアドレスを指定します。

--cc ADDRESS

Cc ヘッダのアドレスを指定します。

--csv FILE

管理ツールで取得した検索結果一覧の CSV ファイルを指定します。

説明

md_download コマンドは指定した条件に一致するメールを EML 形式でエクスポートし、ファイルに保存ます。

デフォルトでは /opt/maildepot3/domain/ドメイン名/var/download ディレクトリ内に以下のファイル名でメールを保存します。

YYYY-MM-DD/HEADERID_YYYYMMDD_HHMM_DIGEST.eml

--csv オプションでは、管理ツールの CSV ダウンロード でダウンロードした検索結果一覧の CSV ファイルを指定してメールをエクスポートできます。

md_ldap_sync

LDAP サーバに登録されたアカウント情報を MailDepot のアカウント情報としてインポートします。

使用方法

md_ldap_sync DOMAIN [options]

引数

DOMAIN

ドメイン名を指定します。

-q, --quiet

メッセージ出力を抑制します。

説明

md_ldap_sync コマンドは、LDAP サーバに登録されているアカウント情報をi MailDepot のアカウント情報にインポートします。 LDAP プロトコルをサポートする Active Directory サーバに登録されたアカウント情報を、MailDepot のアカウント情報に登録することも可能です。 LDAP サーバ側に新しいアカウント情報が更新された場合、このコマンドを実行すると MailDepot のアカウント情報も更新します。 このコマンドで作成される MailDepot アカウントは、外部認証が有効に設置されており、LDAP サーバにより認証を行われます。

md_ldap_sync コマンドを利用するには、LDAP サーバの情報を次の設定ファイルに 記述しておく必要があります。

/opt/maildepot3/etc/md_ldap.conf

上記の設定ファイルには、下記のパラメタを設定します。

パラメタ名説明
ldap_url LDAP サーバの URL を指定します。 ldap://ldap-server-name/
ldap_bind_dn LDAP サーバへのログイン名を指定します。 admin@ldap-domain.tld
ldap_bind_pw LDAP サーバへのパスワードを指定します。 ********
ldap_base_dn アカウントの LDAP 検索場所を指定します。 cn=Users, dc=ldap-domain, dc=tld
ldap_filter アカウントの LDAP フィルタ条件を指定します。 (mail=*)