qmail の停止方法


作業

  1. サーバ停止をユーザにアナウンス

    1週間程度の余裕を持たせるのが望ましい.

  2. 停止の一時間ほど前にバックアップを一度行っておくと時間の節約になる (ログアウトしても処理を中断させない)
    # nohup /etc/cron.daily/rsync &
    # sync 
    (数回実行)
    
  3. 直前のサーバー停止のアナウンス
    # wall
    This system will shutdown at ??:??
    Please logout
    
  4. ログインしているユーザを強制的にログアウト

    未だログインしているユーザを調べる.

    # who

    # ps aux | grep [who で分かったアカウント名]

    アカウント名の隣にある数字がそのユーザの PID である.

    ユーザのプロセスを強制的に kill する.

    # kill -KILL PID
    
  5. tcpserver の停止

    tcpserver 関連の PID を確認 (左から 2 つ目に表示されるものが PID)

    $ ps aux | grep tcpserver
    

    tcpserver の停止

    # kill -TERM /usr/bin/tcpserver -v -x /etc/tcp.smtp.cdb -u 108 -g 109 0 smtp /var/qmail/bin/qmail-smtpd のPID
    # kill -TERM /usr/bin/tcpserver -v -u 0 -g 0 0 pop-3 /var/qmail/bin/qmail-popup grey.ep.sci.hokudai.ac.jp /bin/checkapoppw /var/qmail/bin/qmail-pop3d Maildir のPID
    # kill -TERM /usr/bin/tcpserver -v -u 0 -g 0 0 imap2 /usr/local/sbin/imapd のPID

    tcpserver プロセスが停止したことを確認

    $ ps aux | grep tcpserver
    
  6. メールキュー内のメールを排出. 同時にqmail のプロセス停止.

    qmail のプロセスを調べる.

    # ps aux | grep qmail-send
    
    qmails の右の数が PID である.

    qmail のプロセスを停止する.

    # kill -TERM qmail-send のPID
    
    メールキュー内のメールが 0 になったことを 確認.
    # /var/qmail/bin/qmail-qstat
    
    qmail プロセスが停止したことを確認.
    $ ps aux | grep qmail
    
  7. ネットワーク線を抜く

  8. 電源OFF
    # shutdown -h now 
    

起動時の手順

  • 電源を入れる.
  • その後, LAN ケーブルを接続
  • ping が届くことを確認
  • $ ping 133.87.45.70
    

    参考文献


    最終更新日:2011/09/16 (荻原 弘尭) Copyright © 2011 epcore