- - PR -
recordioでのsmtpのログの取り方
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-06-01 14:29
よろしくお願い致します。
RedHat9でqmail-1.03を使用しています。 | ppp0 RedHat9 eth0 | Win2k 試行錯誤して漸く、 下記のようにしてdaemontoolをインストール・起動出来ました。 # mkdir -p /package # chmod 1755 /package # cd /package # wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz # tar -zxvf daemontools-0.76.tar.gz # cd admin/daemontools-0.76 # ./package/install # tar zxvf daemontools-0.76.tar.gz Redhat9 で、作るときには、このパッチが必要。 ftp://moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch から/package下にダウンロード # cd /package # patch -p0 < daemontools-0.76.errno.patch.txt patching file daemontools-0.76/src/error.h # cd daemontools-0.76 # su # package/install /serviceが無い場合には作成する # mkdir /var/service # chmod 755 /var/service # wget http://www.emaillab.org/djb/daemontools/svscan として起動スクリプトを/tmp下にダウンロード # cd /etc/rc.d/init.d # cp /tmp/svscan . # chmod +x svscan # chkconfig --add svscan # mkdir -p /var/qmail/supervise/qmail-send # chmod +t /var/qmail/supervise/qmail-send # mkdir /var/qmail/supervise/qmail-send/log # chown qmaill.nofiles /var/qmail/supervise/qmail-send/log # ln -s /var/qmail/supervise/qmail-send /service/qmail # mkdir /var/qmail/supervise/qmail-smtpd # chmod +t /var/qmail/supervise/qmail-smtpd # mkdir /var/qmail/supervise/qmail-smtpd/log # chown qmaill.nofiles /var/qmail/supervise/qmail-smtpd/log # mkdir /var/qmail/supervise/qmail-pop3d # chmod +t /var/qmail/supervise/qmail-pop3d # cd /var/qmail/supervise/qmail-pop3d # ls /var/qmail/supervise/qmail-send log/ supervise/ #ls /var/qmail/supervise/qmail-smtpd log/ supervise/ # cd /var/qmail/supervise/qmail-send # emacs -nw ./run として # cat ./run #!/bin/sh -x PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin [ -f /var/qmail/rc ] || exit 0 # Start daemons. echo "Starting qmail." csh -cf '/var/qmail/rc &' と作成する # chmod 744 ./run # cd ./log # emacs -nw ./run として # cat ./run #!/bin/sh -x exec \\\\\\\\ setuidgid qmaill \\\\\\\\ multilog t ./main '-*' '+* status: *' =status # chmod 744 ./run # cd /var/qmail/supervise/qmail-pop3d/run #!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin echo 'qmail-pop3d starting.' exec /usr/local/bin/tcpserver -x /etc/tcpserver/pop3d_rules.cdb 0 \\\\\\\\ pop-3 /var/qmail/bin/qmail-popup rh9.mine.nu /bin/checkpassword \\\\\\\\ /var/qmail/bin/qmail-pop3d Maildir 2>&1 # cd /var/qmail/supervise/qmail-send/run #!/bin/sh # # qmail: /var/qmail PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin # Start daemons. echo "Starting qmail." exec qmail-start ./Maildir/ # cd /var/qmail/supervise/qmail-smtpd/run #!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin echo 'qmail-smtpd starting.' QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE QMAILDUID=`/usr/bin/id -u qmaild` QMAILDGID=`/usr/bin/id -g qmaild` exec /usr/local/bin/tcpserver -x /etc/tcpserver/smtpd_rules.cdb -v -u $QMAILDUID -g $QMAILDGID \\\\\\\\ 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 # chmod 744 ./run # cd ./log # emacs -nw ./run # cat ./run #!/bin/sh -x exec \\\\\\\\ setuidgid smtplog \\\\\\\\ multilog t ./main '-*' '+* * status: *' =status # chmod 744 ./run としてdaemontoolを起動出来ました。 # svstat /var/service/* /var/service/*/log /var/service/qmail-pop3d: up (pid 3007) 109 seconds /var/service/qmail-send: up (pid 3011) 108 seconds /var/service/qmail-smtpd: up (pid 3010) 109 seconds /var/service/qmail-pop3d/log: up (pid 3008) 109 seconds /var/service/qmail-send/log: up (pid 3009) 109 seconds /var/service/qmail-smtpd/log: up (pid 3006) 109 seconds http://www.emaillab.org/djb/daemontools/daemontools-howto.html にあるように # cat /root/log.sh #!/bin/sh exec \\\\\\\\ setuidgid smtplog \\\\\\\\ multilog t \\\\\\\\ -'* * > *' \\\\\\\\ -'* * < *' \\\\\\\\ s200000 \\\\\\\\ ./main \\\\\\\\ -'*' \\\\\\\\ +'* * < HELO *' \\\\\\\\ +'* * < EHLO *' \\\\\\\\ +'* * < MAIL *' \\\\\\\\ +'* * < RCPT *' \\\\\\\\ +'* * < DATA*' \\\\\\\\ +'* * < QUIT*' \\\\\\\\ +'* * < RSET*' \\\\\\\\ +'* * < NOOP*' \\\\\\\\ +'* * > 1*' \\\\\\\\ +'* * > 2*' \\\\\\\\ +'* * > 3*' \\\\\\\\ +'* * > 4*' \\\\\\\\ +'* * > 5*' \\\\\\\\ s200000 \\\\\\\\ ./tcp \\\\\\\\ -'*' \\\\\\\\ +'* * status: *' \\\\\\\\ =status を作成してみましたがこれをどこに置けばいいんですかね? 尚、 /home/user/ucspi-tcp-0.88/recordio.c /home/user/ucspi-tcp-0.88/recordio.o /home/user/ucspi-tcp-0.88/recordio にrecordioがあります。 「recordio を挟んで…」とありますが具体的にどうすればいいんでしょうか? # cd /var/qmail/supervise/qmail-smtpd/run #!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin echo 'qmail-smtpd starting.' QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE QMAILDUID=`/usr/bin/id -u qmaild` QMAILDGID=`/usr/bin/id -g qmaild` exec /usr/local/bin/tcpserver -x /etc/tcpserver/smtpd_rules.cdb -v -u $QMAILDUID -g $QMAILDGID \\\\\\\\ 0 smtp /home/user/ucspi-tcp-0.88/recordio /var/qmail/bin/qmail-smtpd 2>&1 として # svc -dx /var/qmail/supservise/* /var/qmail/supervise/*/log としても特に変化はありません。 (# tail -f /var/qmail/supervise/qmail-smtpd/log/main/current | tai64nlocal を見ても特にログ内容が変化した所はないようです) もしかして # cat /var/qmail/supervise/qmail-smtpd/log/run #!/bin/sh exec env - PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin:/command \\\\\\\\ multilog t ./main '-*' '+* status: *' =status に記述するんですかね。もしそうなら 「/home/user/ucspi-tcp-0.88/recordio」をどう記述したらいいんでしょうか? |
|
投稿日時: 2004-06-02 11:18
質問内容には関係ありませんが
/var/qmail/supervise/qmail-send/run を違う形で2度作成していますがどちらなんでしょうか? svscanを使用しているので後者だとは思いますが。てか思いたい。。。 それとcdコマンドとcatコマンドがごちゃまぜですね。 後は余計な情報が多すぎです。 ”# cat /root/log.sh ”以降ぐらいでいいのでは? ・recordioについて ucspi-tcpが正しくインストール出来たのであれば (/usr/local/bin/tcpserverは使えるように見えますが) /usr/local/bin/recordioを使いましょう。なんでhome下のを使うのか分かりません。 qmaildユーザでは/home/user/ucspi-tcp-0.88/recordioを 実行出来ないかもしれません。 ということでrecordioを呼び出す時のFullパスを変更して試して見て下さい。 挿入位置については当たりです。 以下、参考まで。 # cat /var/qmail/supervise/qmail-smtpd/run #!/bin/sh echo 'qmail-smtpd starting.' QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE QMAILDUID=`/usr/bin/id -u qmaild` QMAILDGID=`/usr/bin/id -g qmaild` exec /usr/local/bin/tcpserver -x /etc/tcpserver/smtpd_rules.cdb -v -u $QMAILDUID -g $QMAILDGID \ 0 smtp /usr/local/bin/recordio /var/qmail/bin/qmail-smtpd 2>&1 ・log.shについて そのlog.shは/var/service/qmail-smtpd/log/runの内容です。 ただし、smtplogユーザはいないでしょうからqmaillユーザへ変更ですかね。 それと/var/service/qmail-smtpd/logには mainとtcpのディレクトリが存在しなければならないのは分かってますか? もし、一年越しであればがんばって下さい。 |
|
投稿日時: 2004-06-10 23:17
遅くなりましてすいません。
有難うございます。 ご紹介いただいた方法で # ls -l 合計 28 drwx------ 2 qmaill root 4096 4月 17 21:36 main/ -rwxr--r-- 1 root root 363 6月 7 22:28 run* -rw-r--r-- 1 root root 127 3月 25 07:08 run.tmp -rw-r--r-- 1 root root 364 6月 6 14:40 run~ -rw------- 1 qmaill root 1001 6月 8 12:48 status drwx------ 2 root root 4096 6月 8 12:48 supervise/ drwx------ 2 qmaill root 4096 6月 8 12:48 tcp/ # ls -l tcp 合計 0 -rw-r--r-- 1 qmaill nofiles 0 6月 8 12:48 current -rw------- 1 qmaill nofiles 0 6月 8 12:48 lock -rw-r--r-- 1 qmaill nofiles 0 6月 8 12:48 state となり、logが起動出来、 /var/qmail/supervise/qmail-smtpd/log/tcp/current にログが取れました。 大変有難うございました。 |
1