トップページ⇒linux
418コメント165KB

namazuでサーバーを立てたい

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@ディストリいっぱいNGNG
この板の過去ログを検索したくても不便です。
そこでnamazuを使って検索用のサーバーを立てようと思います。みんなのために。
namazuのインストールは終了しました。動作もばっちりです。
ただログを収集するのが大変です。
自動的にログを収集してくれるスクリプトってないですか?
っていうかそんなの持ってる人いたらください。
あと
http://cocoa.2ch.net/linux/dat/
↑ここからログを拾うとdatファイル形式なのでhtmlで表示されません。
ログはどこから拾ってくればいいんでしょうか?
html形式で保存されているほうが何かと便利なんですけど。
0002名無しさん@ディストリいっぱいNGNG
http://cocoa.2ch.net/linux/kako/
↑ここにもちょっと過去ログがあるのは知ってます。
ここのはhtmlで保存されているのでいいんですがdatファイルは・・
datファイルをhtmlファイルに一気にコンバートするツールってあったっけ?
0003名無しさん@お腹いっぱい。NGNG
なければつくる
0004名無しさん@ディストリいっぱいNGNG
http://members.tripod.co.jp/tatsu01/
調べてたらあったや。dat→html

あとは自動的にログを収集してくれればいいんだな。
って、ログを自動収集することが可能でもコンバートは自動的にやってくれないや・・
0005名無しさん@お腹いっぱい。NGNG
wget -r -k -np -l 2 http://cocoa.2ch.net/linux/kako
dat->html
なシェルスクリプト書いて、cronかatの定時処理で取得では
だめなのかな。
0006名無しさん@お腹いっぱい。NGNG
>>2 >>5 に示された過去ログ倉庫には、ある程度時間のたったものしか
入らないので、新鮮な index ができない。よって、>>1 の示した
dat ファイルから直接拾うのが吉。それは、>>1 も分かっていることと
思う。

あとは、作成された index を、.namazurc にて URL 置換するときに、
工夫が必要。>>1 から拾うと、
$namazudir/http://cocoa.2ch.net/linux/dat/989179375.dat
といったようなディレクトリに index が保存されることになる。
これを、REPLACE文で
http://cocoa.2ch.net/test/read.cgi?bbs=linux&key=989179375
といったURLに置換すればいい。最後の .dat があるので、どうすれば
いいのかちょっと面倒そう。

と、ここまで考えて思ったが、こうすると .dat ファイルに残っている
ものだけなので、逆に倉庫入りしたものは見られなくなるかな。
結局、http://cocoa.2ch.net/linux/dat/ と
http://cocoa.2ch.net/linux/kako をいっしょに wget で落として、
適切な index 処理を行う必要がありそう。

dat ファイルそのものを index 処理にかけても、文章が拾えて
index が作成されれば用が足りるわけですが、TITLE が拾えないのが
ちょっと残念かな。
0007名無しさん@お腹いっぱい。NGNG
>>3
そりゃそうなんだけど、せっかくlinux板のための建設的な意見を
出してくれているんだから、なければおまえがつくれ、ではなくて、
ここでみんなでスクリプトを作っちゃえ!というくらいの勢いが
あってもいいかもしれない。
0008名無しさん@お腹いっぱい。NGNG
応援age
0009名無しさん@お腹いっぱい。NGNG
agaってなかった、、再age
0010名無しさん@お腹いっぱい。NGNG
>>4
まさか、収集するのは Windows のマシンではないだろうから、
そのソフトを使うのは無理では。shell とか C とか perl
とか、なんでもいいけど普通にスクリプトで動かせる dat2html
って、まだ誰も作ってないのかな。

誰かつくりません?
0011名無しさん@お腹いっぱい。NGNG
datファイルから直接 index を作成するためには、

1. http://cocoa.2ch.net/linux/dat/ から dat ファイルを拾う
2. 1. で拾ったファイルを、***.dat といったファイルから
 *** というファイル (.html はいらない)へ、dat2html で
html 変換する(別ディレクトリへ)
3. 変換されたファイルに対して、mknmz
4. その index から、.namazurc にて
 REPLACE REPLACE $indexdir/ http://cocoa.2ch.net/test/read.cgi?bbs=linux&key=
 といった変換をすればよい

過去ログ倉庫から index を作成するのは、そのまま wget,
mknmz のみで一発でいける。

問題は、両者を統合した index を作るときだけど、namazu
をよく調べれば、こういった場合の .namazurc の書き方は
おそらくあるはず。詳しい人、さらにフォロー頼む。
0012名無しさん@お腹いっぱい。NGNG
super age
0013名無しさん@お腹いっぱい。NGNG
>>10
実際、ここでログを過去ログ倉庫送りする際に、dat2htmlスクリプトを
使っているはずなので、2chのサーバーのどこかに dat2html が存在して
いることはたしかです。それがどこにも公開されていないとすれば、
プログラムがある程度できる人ならばそんなに難しいスクリプトでは
ないでしょうから、作ってしまった方がいいかもしれませんね。

誰か、dat2htmlを作ってここに書きこんでくださる方はいませんか。
0014名無しさん@お腹いっぱい。NGNG
適当だが>>13
$cnt=1;
# ここで適当なHTMLヘッダを出す
$fff=shift;
open(TH,$fff) || die "open error\n";
$_=<TH>;
chop $_;
$num=@dat=split(',',$_);
print "<title>".$dat[4]."</title>\n";
print '</HEAD>'."\n";
print '<BODY TEXT="#000000" BGCOLOR="#FFFFFF" link="#0000FF" alink="#FF0000" vli
nk="#660099">'."\n";
print $cnt.":".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<br>\n";
print $dat[3]."<br><br><br>\n";
$cnt++;
while(<TH>){
chop $_;
$num=@dat=split(',',$_);
print $cnt.":".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<br>\n";
print $dat[3]."<br><br><br>\n";
$cnt++;
}
print '</body></HTML>'."\n";
0015名無しさん@お腹いっぱい。NGNG
>>14 age
0016名無しさん@お腹いっぱい。NGNG
age
0017名無しさん@お腹いっぱい。NGNG
>>13
,が余計にあると混乱するみたい
0018名無しさん@お腹いっぱい。NGNG
namazuの開発が沼津で行われてたってのは実話?
0019名無しさん@お腹いっぱい。NGNG
支障のオナニースレと三流大スレとrh叩きスレの下にあるのは言語道断。
この板で今生きている唯一の良スレだ。常に上にあるべき。age
002014NGNG
>>17
その辺は修正してくれ、10分で書いたやつだからと言い訳
0021名無しさん@お腹いっぱい。NGNG
テストランしてないけど、

#!/bin/sh

export dat2html=/usr/local/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/linux/dat
export namazudir=$workdir/namazu

cd $wgetdir
wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do
j=`echo i | sed -e 's/.*\.dat//'`
cat $datdir/$i | $dat2html > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done
rm -rf $wgetdir/linux/dat

wget -m I linux/kako http://cocoa.2ch.net/linux/kako/

cd $namazudir
mknmz -eU $wgetdir/
0022名無しさん@お腹いっぱい。NGNG
こんな感じのスクリプトを動かせば、

REPLACE $wgetdir http://

で動くかも。
0023名無しさん@お腹いっぱい。NGNG
>>21
typoを2箇所発見。diff とるまでもないので、修正したスクリプトを
そのまま貼りつける。

# 今、Linuxが手元にないので、誰かテスト頼む

#!/bin/sh

export dat2html=/usr/local/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/linux/dat
export namazudir=$workdir/namazu

cd $wgetdir
wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do
j=`echo $i | sed -e 's/.*\.dat//'`
cat $datdir/$i | $dat2html > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done
rm -rf $wgetdir/linux/dat

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

cd $namazudir
mknmz -eU $wgetdir/
0024名無しさん@お腹いっぱい。NGNG
>>23
完璧です。
0025名無しさん@お腹いっぱい。NGNG
>>20
実際にソースを書いて晒している。とても偉い!
この板で偉くても自慢にならないところが珠に傷か
0026名無しさん@お腹いっぱい。NGNG
>>23
同上
0027名無しさん@お腹いっぱい。NGNG
おお、なんだかすごいことになりそうな予感。
ここまでくれば、実際に>>1にテストしてもらって、
不具合があればここでわいわいやればあっという間に
出来そう。>>1サーバーの負荷がはたしてどこまで
耐えられるか。この板だけならば、それほどでもないかな。
0028名無しさん@お腹いっぱい。NGNG
>>23

私もちょっとテストしてみましたが、
j=`echo $i | sed -e 's/.*\.dat//'`
のところは
j=`echo $i | sed -e 's/\.dat//'`
の誤りのようです。

最新バージョン

#!/bin/sh

export dat2html=/usr/local/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/linux/dat
export namazudir=$workdir/namazu

cd $wgetdir
wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do
j=`echo $i | sed -e 's/\.dat//'`
cat $datdir/$i | $dat2html > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done
rm -rf $wgetdir/linux/dat

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

cd $namazudir
mknmz -eU $wgetdir/
0029名無しさん@お腹いっぱい。NGNG
その前に1は生きてるのか?
00301NGNG
死にました
0031んじゃあNGNG
>>30
ザオリク。
0032名無しさん@ディストリいっぱいNGNG
うおっ!!!こんなにレスがついてる!!朝は放置されてたのにーーー
しかも!!スクリプト完成してる!!!カンドー
でも・・僕のような初心者にこれは・・・どこか遠くに逃げたい・・
0033名無しさん@お腹いっぱい。NGNG
>>32
1か?本当に1か?ちゃんとやるんだろうな?
まさか見通しも立てないでただスレ立てたんじゃないよな?
だとしたら逝け。いや、マジで。リアルで逝け。
0034名無しさん@お腹いっぱい。NGNG
とりあえず落ち着け。難しいことは書いてないぞ。
スクリプトまでできてるんだから、あとは動かすだけだ。
0035名無しさん@お腹いっぱい。NGNG
シェルスクリプトの環境変数くらいはいじっておくように。
0036名無しさん@ディストリいっぱいNGNG
僕が今やったこと。
>>14さんのdat2htmlをdat2html.plにリネームして/usr/local/bin/に入れた。
>>28さんのスクリプトを2ch.shにリネームして/home/2ch/に入れた。
両方のパーミッションを755にした。
意気揚揚としてコマンド打った。
2ch.sh!!!!
し〜ん。
僕・・・この場から逃げたい・・・
0037名無しさん@ディストリいっぱいNGNG
反応がない・・もしかしてみんな・・僕を変な目で見てる???
あ〜逃げたい〜
0038名無しさん@ディストリいっぱいNGNG
まさかこんなに盛り上がると思わなかったよ〜〜〜
責任が重い・・
0039名無しさん@お腹いっぱい。NGNG
し〜んって、エラーメッセージもなにも表示されず?
プログラムは終了したのか、それとも固まったのか?
それから、wget はインストールされてるか?

反応がないって、そりゃ6分間で反応が返ってくるとは
限らないぞ。気長に待て。
0040名無しさん@お腹いっぱい。NGNG
それから、date2html.pl の先頭に
#!/usr/bin/perl (パスは直して)
を加えて、
chmod +x /usr/local/bin/date2html.pl
をすることも忘れずに。スクリプトを、perl $date2html
と直してもどちらでも可能。
0041名無しさん@お腹いっぱい。NGNG
なにも反応がないというのが気にかかるのだけど、あとかんがえられると
したら、wget とか mknmz のパス設定かな?/usr/local/bin あたりに
インストールされていると、スクリプトをフルパスで指定するように
書き換えないといけない。wget -> /usr/local/bin/wget,
mknmz -> /usr/local/bin/mknmz などと、フルパスで書き換えて
みるといい。環境変数で設定しておく方がきれいだけど、動けば良し。
0042名無しさん@ディストリいっぱいNGNG
>>39さん
bash:2ch.sh: command not found
で止まります。さっきまでは
bash:
し〜ん
だったのに・・さっきまでのほうがまだよかったのかなあ・・
>>40さん
#!/usr/bin/perl
ですね・・
#!/usr/local/bin/perl
って書いてました・・ありがとうございます。
0043名無しさん@お腹いっぱい。NGNG
2ch.shにパスが通ってないとか。
/home/2ch/2ch.sh で実行できない?
0044名無しさん@ディストリいっぱいNGNG
>>41さん
wget と mknmz は /usr/bin/ にインストールされてました。
>>43さん
それでもダメです・・・

んで、しょうがないから dat2hmtl.pl を /usr/bin/ に移動して 2ch.sh の
export dat2html=/usr/local/bin/dat2html.pl
の行を
export dat2html=/usr/bin/dat2html.pl
に書き換えました。問題ないですよね?

考えます。悩みます。せっかくみんなが作ってくれたんだから頑張ります。
0045名無しさん@ディストリいっぱいNGNG
走った!!!走りました!!!すごいっす!!!全自動!!!これでいけるぞー!!
sh 2ch.sh
だったんですね・・・すみません・・お騒がせしました・・
0046名無しさん@ディストリいっぱいNGNG
ありゃ?datファイルを全てダウンロードしたところで止まった・・
コピペした時に変なところに改行が入ったのかなあ・・また悩まなきゃ・・
0047名無しさん@お腹いっぱい。NGNG
おお、動きましたか、良かったですね。
ところで、私も、今テストしてみましたが、2ch.shから
dat2htmlを呼び出すところで、標準入力ではなく
ファイル名指定となっているようで、
$dat2html $datdir/$i > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
と書きなおさないといけないようです。
あとは、適宜 mkdir -p とか入れておくといいですね。

0048名無しさん@お腹いっぱい。NGNG
かぶりましたね。>>47に書いたような次第です。
ちなみに、コンバートにはある程度時間がかかりますよ。

一応、ちょこっといじらせていただいたので、コピーします。

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/cocoa.2ch.net/linux/dat
export namazudir=$workdir/namazu

mkdir -p $wgetdir/cocoa.2ch.net/test

cd $wgetdir
wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do
j=`echo $i | sed -e 's/\.dat//'`
$dat2html $datdir/$i > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done
rm -rf $wgetdir/linux/dat

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz -eU $wgetdir/


0049名無しさん@ディストリいっぱいNGNG
'ch.sh: syntax error near unexpected token 'do
'ch.sh: 2ch.sh: line 14: 'do
で、やっぱり止まります・・・僕だけですか???
0050名無しさん@お腹いっぱい。NGNG
doでとまるとは摩訶不思議。
その上の for あたりがおかしいのか、いったいどういう
ことなんだろう?
0051名無しさん@ディストリいっぱいNGNG
元々ある2chというフォルダと別に新しく2chというフォルダができてしまうのですが
これは一時的にファイルを保存するためのフォルダですか?
同じ名前のフォルダができるのでややこしいです・・・

do で止まっちゃう・・doしよー!!
0052名無しさん@お腹いっぱい。NGNG
for の構文って、これでいいんだっけ。
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html $datdir/$i > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

といった感じで、do の後に1行に書かない?

どうだったかと思って試してみたら、行を分けても分けなくても、
どちらでも動きましたが。(^^;
0053名無しさん@ディストリいっぱいNGNG
ていうかまさか3回目やると3個できて4回やると4個とかにならないですよね?
ていうかやってみればいいのか。やってみます・・・
0054名無しさん@ディストリいっぱいNGNG
>>52
そういう構文になるんですね。止まった原因がなんとなくわかりました。
僕はここのカキコをコピペして秀丸に貼り付けてるんですけど各行の後ろに
一文字分空白が入ってしまうのでそれを全て削除してました。
do の後ろの空白も。たぶんそれが原因だったかもしれません・・
0055名無しさん@ディストリいっぱいNGNG
2ch.sh: line24: syntax error: unexpected end of file
今度は24行目で止まっちゃいました・・一難去ってまた一難。
ていうか html の書き出しをやってくれてないような気が・・んー。

3つ目の 2ch フォルダは生成されなかったです。あーよかった。
0056名無しさん@ディストリいっぱいNGNG
24行目で止まったのは終わったから止まったみたいでした・・すみません。僕はアホです・・
また明日続きをやってみようと思います。どうもありがとうございました。
お昼に盛り上げてスクリプト作ってくれた方々もありがとうごさいました。
では寝ます。おやすみなさい。
0057名無しさん@お腹いっぱい。NGNG
うまくいくといいな。
0058名無しさん@お腹いっぱい。NGNG
>>14 >>17 >>20
,まわりの修正きぼーん
0059,,,,,NGNG
,まわり,用,テスト,でーた,,,,, ,
0060名無しさん@お腹いっぱい。NGNG
ソースはEUCに変換してから使ってね
$cnt=1;
print '<HTML><HEAD>'."\r\n";
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=EUC-JP">'."\n";
$fff=shift;
open(TH,"/usr/local/bin/nkf -e $fff |") || die "open error\n";
$_=<TH>;
chop $_;
@dat=split(',',$_);
print "<TITLE>".$dat[4]."</TITLE>\r\n";
print '</HEAD>'."\n";
print '<BODY TEXT="#000000" BGCOLOR="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#660099
">'."\r\n";
print $cnt.":".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<BR>\r\n";
print $dat[3]."<BR><BR><BR>\r\n";
$cnt++;
while(<TH>){
chop $_;
@dat=split(',',$_);
$dat[0]=~s/,/,/g;
$dat[1]=~s/,/,/g;
$dat[3]=~s/,/,/g;
print $cnt.":".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<BR>\r\n";
print $dat[3]."<BR><BR><BR>\r\n";
$cnt++;
}
print '</BODY></HTML>'."\r\n";
0061名無しさん@お腹いっぱい。NGNG
$dat[0]=~s/,/,/g; は
'@'+'`'を','に置換するが化けている
0062名無しさん@ディストリいっぱいNGNG
うにゃー。あいかわらずhtmlファイルが生成されないなあ。
でもdatファイルはダウンロードできたからdat2htmlだけ単独で実行すれば
変換されるのかなあ。よくわかんないです・・

unix板のファイルもいただいておこっと。参考にはなるだろうから。
0063名無しさん@ディストリいっぱいNGNG
あーーー!!あったー!!
/root/linux に入ってたーーー!!

すみません。あいかわらずマヌケで。しかしなんでこんなところに・・
ってことはindexも作成されてるのかなあ。どのディレクトリにあるんだろ・・(^^;; 
0064名無しさん@ディストリいっぱいNGNG
と思ったらこれは昼間会社で集めて送ったファイルだった・・
もうダメ・・ネボけてるかも・・
0065名無しさん@お腹いっぱい。NGNG
まさにオープンソースだね!
Linuxの本来あるべき姿だよ♪
0066名無しさん@お腹いっぱい。NGNG
まずは、単独で dat2html の動作確認を。

dat2html.pl datファイルのファイル名 > 出力ファイル名

で、htmlファイルが出力されますか?

indexは、/home/2ch/namazu に生成されているはず。
0067名無しさん@ディストリいっぱいNGNG
せっかくみんなに作ってもらったんだから今週末には公開できるように頑張ります!!
0068名無しさん@ディストリいっぱいNGNG
>>66さん
あ、ありがとうございます。今から動作確認してみます。
0069名無しさん@ディストリいっぱいNGNG
>>66さん
ちゃんとファイルはできました。
だけど8.2kのdatファイルが422バイトになってたのでうまくは動作してないような
気がします。中身の真っ白だったし・・
0070名無しさん@お腹いっぱい。NGNG
うまくいくといいな♪
0071名無しさん@お腹いっぱい。NGNG
サーバが違うと区切り文字が違うので、それに対応
パラメタが区切り文字列、区切り文字列の置換文字列、datファイル名となります
Linux板なら /〜/dat2html.pl "," "\xa1\xf7\xa1\xae" foo.dat
モナー、ラウンジなら /〜/dat2html.pl '<>' "" bar.datと指定してください
$sep=shift;
$rep=shift;
print '<HTML><HEAD>'."\r\n";
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=EUC-JP">'."\r\n";
$fff=shift;
open(TH,"/usr/local/bin/nkf -e $fff |") || die "open error\n";
$_=<TH>;
chop $_;
@dat=split($sep,$_);
$dat[0]=~s/$rep/,/g if("${rep}");
$dat[1]=~s/$rep/,/g if("${rep}");
$dat[3]=~s/$rep/,/g if("${rep}");
$dat[4]=~s/$rep/,/g if("${rep}");
print "<TITLE>".$dat[4]."</TITLE>\r\n";
print '</HEAD>'."\n";
print '<BODY TEXT="#000000" BGCOLOR="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#660099">'."\r\n"
;
print "1:".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<BR>\r\n";
print $dat[3]."<BR><BR><BR>\r\n";
$cnt=2;
while(<TH>){
chop $_;
@dat=split($sep,$_);
$dat[0]=~s/${rep}/,/g if("${rep}");
$dat[1]=~s/${rep}/,/g if("${rep}");
$dat[3]=~s/${rep}/,/g if("${rep}");
print $cnt.":".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<BR>\r\n";
print $dat[3]."<BR><BR><BR>\r\n";
$cnt++;
}
print '</BODY></HTML>'."\r\n";
exit;
0072クンクン(零式)NGNG
クーン
(どうしましょ)
0073名無しさん@お腹いっぱい。NGNG
せっかくならば、UNIX板と同時に検索できるインデックスを作るとかも
できますね。とりあえず、Linux板のみで成功するかどうかやって
みましょう。

任意の複数板のインデックス作成用スクリプトを作っておけば、他の
板でも使うかも。スクリプト自体は、サーバー名と板名を変数に
して、板一覧ファイルから while read server ita とかするだけ
なので、ちょこちょこっといじれば終わりそう。
0074名無しさん@お腹いっぱい。NGNG
頑張れーーー。。(@@;)
0075名無しさん@お腹いっぱい。NGNG
>>71
バグ見っけた
$dat[0]=~s/$rep/,/g は、
$dat[0]=~s/$rep/$sep/g だな、以下同文
007671NGNG
>>75
ホントだわ
どもです
0077名無しさん@お腹いっぱい。NGNG
>>69 の問題は解決したのかな?
0078名無しさん@お腹いっぱい。NGNG
どうなの>>1
0079名無しさん@お腹いっぱい。NGNG
この死に体と化した板に、こんなスレは似つかわしく
ないな。即刻 UNIX 板に移動すべし。
0080名無しさん@お腹いっぱい。NGNG
>>79
そうか?
この混沌とした状況が好きだよ
このスレとか質問系のスレは余りあれないから皆判ってやっているんだと思う
0081名無しさん@お腹いっぱい。NGNG
>>1
もう少しだ頑張れ

つーことで最新版をまとめてみました(ちょい長)

>>48からの2ch.shのソースに>>71のdat2html.plI/F変更を加えたもの

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/cocoa.2ch.net/linux/dat
export namazudir=$workdir/namazu

mkdir -p $wgetdir/cocoa.2ch.net/test

cd $wgetdir
wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do
j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done
rm -rf $wgetdir/linux/dat

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz -eU $wgetdir/

>>71からのdat2html.plに>>75発見のバグ修正を入れたもの

#!/usr/bin/perl
$sep=shift;
$rep=shift;
print '<HTML><HEAD>'."\r\n";
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=EUC-JP">'."\r\n";
$fff=shift;
open(TH,"/usr/local/bin/nkf -e $fff |") || die "open error\n";
$_=<TH>;
chop $_;
@dat=split($sep,$_);
$dat[0]=~s/${rep}/${sep}/g if("${rep}");
$dat[1]=~s/${rep}/${sep}/g if("${rep}");
$dat[3]=~s/${rep}/${sep}/g if("${rep}");
$dat[4]=~s/${rep}/${sep}/g if("${rep}");
print "<TITLE>".$dat[4]."</TITLE>\r\n";
print '</HEAD>'."\n";
print '<BODY TEXT="#000000" BGCOLOR="#FFFFFF" link="#0000FF" alink="#FF0000" vlink="#660099">'."\r\n"
;
print "1:".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<BR>\r\n";
print $dat[3]."<BR><BR><BR>\r\n";
$cnt=2;
while(<TH>){
chop $_;
@dat=split($sep,$_);
$dat[0]=~s/${rep}/${sep}/g if("${rep}");
$dat[1]=~s/${rep}/${sep}/g if("${rep}");
$dat[3]=~s/${rep}/${sep}/g if("${rep}");
print $cnt.":".$dat[0]."(";
print $dat[1].") ";
print "date:".$dat[2]."<BR>\r\n";
print $dat[3]."<BR><BR><BR>\r\n";
$cnt++;
}
print '</BODY></HTML>'."\r\n";
exit;
0082名無しさん@お腹いっぱい。NGNG
1は逃げたな、プレッシャーに耐え切れず。
最初は遊び半分からかい半分でスレ立てて、
出来もしないのに話を盛り立てて、
そんで放置されてたから「次どんなネタすれ立てて暇潰すかなー」
と思ってたところ、しばらく立ったら盛りあがってて、
「おほっ、こいつら馬鹿だなー」とニヤニヤしながら
相手してたら、だんだん自分のレベルを越えた話についていけなくて、
しまいには「頑張れー(@@;)」とか言われて、
だんだん良心も痛んできて、一瞬腕まくりして「やったるか」と
思ってディスプレイに向かってみた物の30分で挫折、
「ま、いいか」と気を取り直して他の板・スレで
いつものようにウケもしないネタ書き散らして満足して、
今もちょっとだけ気になってこのスレ見てるけど、
このレスを見て図星過ぎて怖くなって回線を切ろうとしてるな、
まあ待て、その手に握ったマウスをブラウザに映し出された
2ちゃんの書き込みフォームにうつしてみろ、
名前欄にはついさっきまで使ってた「クンクン(壱式)」というハンドルが
クッキーで入ってるな、そうだ、それを消して、
「名無しさん@ディストリ」いっぱい、もしくは「1」にして、そう、
それと、メール欄の「河内の物体X屋マンセー」なんだそりゃ、
それも消しなさい、バレちゃいますからね、そう、そうだ、
それじゃあその下の広いフォームにフォーカスをうつして、
よーし、その調子、それじゃあ「ネタスレでした、ごめんなさい」と打ってみよう、
ほら、焦らなくていいから、タイプミスしないようにな、ゆっくり、
そう、もうちょっと、あー、ほら、BSで消して、n,a,s,a,i、と、
よし、じゃあreturnして、あとは書き込むボタンをクリックだ、よし。

■■■■■■■■■■■■終了■■■■■■■■■■■■
0083名無しさん@お腹いっぱい。NGNG
ネタスレでした、ごめんなさい
0084名無しさん@お腹いっぱい。NGNG
>>83
偽装なら>>1がよく出没する20時前後にせんかいヴォケ
0085名無しさん@ディストリいっぱいNGNG
うわっ!!僕の出没時間がバレてる!!!笑

すみません。今からやります。少々しばらくずっと永遠にお待ちくださいませ。
0086名無しさん@お腹いっぱい。NGNG
>>1=85

>うわっ!!こいつらまだやってる!!!笑
>少々しばらくずっと永遠にお待ち下さいませ。ゴルァ
>だから待てっつってんだろ馬鹿ども。
>もーいーよ、やんねー。やってらんねー。ばーか。
>もーこねーよ。死ね糞ども。

ハァ?
0087名無しさん@ディストリいっぱいNGNG
>>81
まとめてくれてありがとうございます!!!うれしいです!!
0088名無しさん@ディストリいっぱいNGNG
ちょっとわかりずらくなってきたのでここに書いてみよ。
これは僕の環境での設定です。あまり見ないで・・・

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/httpd/html/
export datdir=/home/httpd/html/cocoa.2ch.net/linux/dat
export namazudir=/usr/share/namazu/index/linux/

mkdir -p cocoa.2ch.net/test

wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > /'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz /home/httpd/html/cocoa.2ch.net/linux/test/
mknmz /home/httpd/html/cocoa.2ch.net/linux/kako/
0089名無しさん@ディストリいっぱいNGNG
ちょっと違ってた・・viで見るよりここで見るほうが見やすいや・・
これでいいはずだけどなあ・・どこか違ってます??

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/httpd/html/
export datdir=$workdir/cocoa.2ch.net/linux/dat
export namazudir=/usr/share/namazu/index/linux/

mkdir -p cocoa.2ch.net/linux/test

wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > /'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz /home/httpd/html/cocoa.2ch.net/linux/test/
mknmz /home/httpd/html/cocoa.2ch.net/linux/kako/
0090名無しさん@ディストリいっぱいNGNG
こうだな。僕の知識ではこれ以上はムリ。笑
やっぱりdatからhtmlへのコンバートがうまくいかない・・なんでだろ・・
それさえクリアできればオッケーっぽいんだけどなあ。
2ch.shのほうはこれでいいだろうから明日dat2htmlのほうを見直してみよっと。
土曜日には完成して日曜日には公開したいなあ。

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/httpd/html/
export datdir=$workdir/cocoa.2ch.net/linux/dat
export namazudir=/usr/share/namazu/index/linux/

mkdir -p cocoa.2ch.net/linux/test

wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > /'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz $workdir/cocoa.2ch.net/linux/test/
mknmz $workdir/cocoa.2ch.net/linux/kako/
0091名無しさん@ディストリいっぱいNGNG
過去ログが落ちてこないなあ・・いちおう過去ログ用のディレクトリ作ってみよっ。
ちょっとずつ前進。でも関係ないかも。
やっぱその前のdat2htmlのところで止まってるから過去ログの部分の処理が
されないのかなあ。んー・・・

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/httpd/html/
export datdir=$workdir/cocoa.2ch.net/linux/dat
export namazudir=/usr/share/namazu/index/linux/

mkdir -p cocoa.2ch.net/linux/test

wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > /'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

mkdir -p cocoa.2ch.net/linux/kako
wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz $workdir/cocoa.2ch.net/linux/test/
mknmz $workdir/cocoa.2ch.net/linux/kako/
0092名無しさん@ディストリいっぱいNGNG
こうしたほうがいいんだな。きっと。なんとなく。

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/httpd/html/
export datdir=$workdir/cocoa.2ch.net/linux/dat
export namazudir=/usr/share/namazu/index/linux/

mkdir -p cocoa.2ch.net/linux/test

wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > /'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

mkdir -p cocoa.2ch.net/linux/kako
wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz -eU $workdir/cocoa.2ch.net/linux/
0093名無しさん@ディストリいっぱいNGNG
ダメだ・・やっぱわかりやすくしておこ・・

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/httpd/html/
export datdir=$workdir/cocoa.2ch.net/linux/dat
export namazukakodir=/usr/share/namazu/index/linux/kako/
export namazutestdir=/usr/share/namazu/index/linux/test/


mkdir -p cocoa.2ch.net/linux/test

wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > /'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

mkdir -p cocoa.2ch.net/linux/kako
wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazukakodir
cd $namazukakodir
mknmz $workdir/cocoa.2ch.net/linux/kako/

mkdir -p $namaztestudir
cd $namazutestdir
mknmz $workdir/cocoa.2ch.net/linux/test/
0094名無しさん@ディストリいっぱいNGNG
ていうか・・こんなとこをいじってる場合じゃないんだよなあ・・
dat2html!!!!!(;д;)
0095名無しさん@お腹いっぱい。NGNG
cd $wgetdir は、意図的に消したのですか?それ以外にも、
ディレクトリの関係がかなりめちゃくちゃになっています。
以下のようにしてください。

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/httpd/html
export wgetdir=$workdir/wget
export datdir=$wgetdir/cocoa.2ch.net/linux/dat
export namazudir=/usr/share/namazu/index/linux/

mkdir -p $wgetdir/cocoa.2ch.net/test

cd $wgetdir
wget -m -I linux/dat http://cocoa.2ch.net/linux/dat/
for i in `ls $datdir`
do
j=`echo $i | sed -e 's/\.dat//'`
$dat2html "," "\xa1\xf7\xa1\xae" $datdir/$i > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done
rm -rf $wgetdir/linux/dat

wget -m -I linux/kako http://cocoa.2ch.net/linux/kako/

mkdir -p $namazudir
cd $namazudir
mknmz -eU $wgetdir/
0096名無しさん@ディストリいっぱいNGNG
>>95さん
あ、ありがとうございます。
どうもうまく動作しないので試行錯誤してました・・すみません・・ありがとうございます。
やっぱ2ch.shはこれでいいんですね・・もう一度戻してみてやってみます。
0097名無しさん@ディストリいっぱいNGNG
http://203.174.72.113/2ch-linux/
↑こんな感じでいいかなあ。あ、とりあえずgooに置いてるだけだから動作しません。笑
0098名無しさん@お腹いっぱい。NGNG
>>97
いいね。
0099名無しさん@お腹いっぱい。NGNG
>>1,94
dat2htmlのテストしてみた
Linux環境が無いのでHP上のNetscape/LynxとWin上のIE/Netscapeで確認し、
下記環境で問題無く動作した
OS:HP-UX11.0(ワラ
sh:GNU bash, version 2.04.0(2)-release (hppa2.0w-hp-hpux11.00)
perl:perl version 5.005_02 と version 4.0.1.8
0100名無しさん@ディストリいっぱいNGNG
んー
1:()date:
としか表示されないです・・また僕だけですかー???(;д;)
処理してる時も「ヘッダが取得できませんでした」とかいっぱい言われるし・・
0101名無しさん@お腹いっぱい。NGNG
>>100
dat2htmlのnkfのパスが/usr/bin/nkfとかだとか?
■ このスレッドは過去ログ倉庫に格納されています