自宅サーバでfmlで運用している某MLの調子が悪く、コマンドメールの処理に失敗したりmakefml config中に固まってしまったりする事態に陥るようになった。
他のMLでは問題ないのでconfig.phとかcfあたりが壊れたのだろうと考え、ディレクトリごとバックアップをとった上で
/usr/local/fml/makeml newml foobarml
してMLの再作成。makeml configで設定した後、htdocs、members、seq、spool、summaryをコピーして復旧完了。
コマンドメールを送ってmembersやtrafficが取得できることを確認して、「やれやれ」と思ったのが9日(日)の話。
今日の夜になって「MLにメール投稿したのに配信されないぞゴルァ」というクレームが。
「何ですと?!」と思って/var/log/maillogを見るとPostfixによって受信されているし、/var/spool/ml/foobar/logを見てみると問題の投稿は確かに受理されていて、htmlアーカイブの作成も行われている。
05/01/10 14:21:48 ARTICLE 2005 (santa@sanzai.net) 05/01/10 14:21:48 create htdocs/200501.month/2005.html (hoge@foobar.com)
@HOSTにISPのSMTPサーバーを指定してしまったので実際に各メンバーに配信されたのかは不明なのだが、少なくとも自分には届いてないわけでこれはおかしいと。
で、ふとわれに返って考えてみると、昨日、旧ディレクトリからコピーしたのは
makeml configで設定した後、htdocs、members、seq、spool、summaryをコピーして復旧完了。
というわけでactivesファイルが抜けていたのであった・・・
activesファイルは普段membersファイルへのシンボリックリンクにしてるので、そのままコピーするのではなく後でリンクを張りなおそうと思ったまま忘れていた次第。
早速リンクを張りなおしたはいいが、果てどうやって再配信したものか。もう一度投稿してもらうのも手間だろうし、下記のようにメンバーそれぞれのアドレスからのgetコマンドメールが投稿されたことにするスクリプトファイルを実行して、全員に再配信してしまうことにする。
/var/spool/ml/foobar/activesを読み込むようなスクリプトにしておけば今後も使い回しが出来る気がするがまぁいいかと。
というかメンバー全員に特定の投稿を再配信するコマンドがfmlに用意されていたりしないのだろうか?
#/bin/sh /usr/local/fml/makefml command foobarml sanzai@sanzai.net get 2005 /usr/local/fml/makefml command foobarml santa@sanzai.net get 2005 (以下略)
Its a great mature porn site! mature hardcore porn