Solaris のシステム管理 (資源管理とネットワークサービス)

キューディレクトリの管理 (手順)

この節では、キューの管理に役立つ作業について説明します。クライアント専用のキューの詳細については、新しい構成ファイル submit.cf を参照してください。他の関連情報については、キューの新しい機能 を参照してください。

メールキュー /var/spool/mqueue の内容を表示する方法

キューにあるメッセージの数とそれらのメッセージがキューから消去されるのにかかる時間を表示するには、次の手順に従います。

次の情報を表示するには、以下に示すコマンドを使用します。


# /usr/bin/mailq | more

このコマンドは、認証属性 solaris.admin.mail.mailq を確認します。確認が取れると、sendmail-bp フラグを指定するのと同じ処理が実行されます。確認ができない場合は、エラーメッセージが表示されます。デフォルトでは、この認証属性はすべてのユーザーで使用できるようになっています。認証属性は、prof_attr 内のユーザーエントリを変更することにより無効にできます。詳細は、prof_attr(4) および mailq(1) のマニュアルページを参照してください。

メールキュー /var/spool/mqueue でメールキューを強制処理する方法

たとえば、以前にメッセージを受信できなかったシステムへのメッセージを処理するには、次の手順に従います。

  1. スーパーユーザーになるか、それと同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. キューを強制処理し、キューが消去されるとジョブの進捗状況を表示します。


    # /usr/lib/sendmail -q -v 
    

メールキュー /var/spool/mqueue のサブセットを実行する方法

たとえば、ホスト名などアドレスの部分文字列を強制的に処理したり、キューから特定のメッセージを強制処理したりするには、次の手順に従います。

  1. スーパーユーザーになるか、それと同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. -qRstring を使用して、いつでもメールキューのサブセットを実行できます。


    # /usr/lib/sendmail -qRstring
    

    string

    受信者の別名または user@host.domain の部分文字列 (ホスト名など) を指定

    代わりに、-qInnnnn を使ってメールキューのサブセットを実行することもできます。


    # /usr/lib/sendmail -qInnnnn
    

    nnnnn

    キュー ID を指定 

メールキュー /var/spool/mqueue を移動する方法

メールキューを移動する場合は、次の手順に従います。

  1. メールホストのスーパーユーザーになるか、同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. sendmail デーモンを終了します。


    # /etc/init.d/sendmail stop
    

    これで、sendmail はキューディレクトリを処理しなくなります。

  3. /var/spool ディレクトリに移動します。


    # cd /var/spool
    
  4. mqueue ディレクトリとディレクトリ内のすべての内容を omqueue ディレクトリに移動します。次に、mqueue という名前の新しい空のディレクトリを作成します。


    # mv mqueue omqueue; mkdir mqueue
    
  5. ディレクトリのアクセス権を所有者は読み取り/書き込み/実行に、またグループは読み取り/実行に設定します。また、所有者とグループを daemon に設定します。


    # chmod 750 mqueue; chown root:bin mqueue
    
  6. sendmail を起動します。


    # /etc/init.d/sendmail start
    

古いメールキュー /var/spool/omqueue を実行する方法

古いメールキューを実行するには、次の手順に従います。

  1. スーパーユーザーになるか、それと同等の役割になります。

    役割については、『Solaris のシステム管理 (セキュリティサービス)』の「特権付きアプリケーションの使用」を参照してください。

  2. 古いメールキューを実行します。


    # /usr/lib/sendmail -oQ/var/spool/omqueue -q
    

    -oQ フラグは代替キュー (待ち行列) ディレクトリを指定し、-q フラグはキューでの各ジョブを処理するように指示します。画面に冗長出力を表示している場合は、-v フラグを使用します。

  3. 空のディレクトリを削除します。


    # rmdir /var/spool/omqueue