【スイカ】雪だるま作戦に思いを馳せながら雑談するスレッド Part3
あと1点相談ですが、
tv7 (tvd) は、このままだとへたをすると週に1回
放送後に毎週つぶれるような気もするんですが、
さて、どうしましょうかね。
とりあえず最低限、ジンギスカンにはしておいた方が。
live22x を作っていて思ったんですけど、、、
live22x が複数台になったら
live22x とは別に live22x1 live22x2 live22x3 と名前が必要なような、、、
別名っていうんですか?
ex5やex9が何かある度にへたれた過去を目撃してると、
さっさとtigerかcobraに移した方が手間が少ないと思うのだが。
雪だるまがある程度まとまるまではtv用tigerの空きはなさそうだし。
tv7 ってどうして重くなるんでしたっけ?
>>130 ですね。携帯のフロントエンドと同じことをする予定です。
ログインにはlive22x1 live22x2 live22x3 とかいうかんじの名前を使って、
DNS 的にはラウンドロビンすると。
>>132 電車男放送後のゆり戻し。
で、発注かかったんだから、
その名前作っておく必要があるですね。
DNS登録依頼を出しておくです。
peko 作戦スレにて。
のこか。。。
>>133 具体的にどの板の問題なのかを知りたかったり、
あと、
キャップの同期も必要だ。
なるほど〜
tvd の ex 移転ですなぁ
ex10おめでとう行きおめでとう
電車男問題じゃなくて、かつスレッド移動のことを気にしないんなら、
tvd を etc4 に動かせば(りゃ とか言うんですが、
etc4 には male があるわけで。
exですか、、、。
いまや懲罰ではないとはいえ。
ex12 ex13 って余力ばしばしでなかったっけ?
ex10ですかね。入れるとしたら。
入るとは思います。スレッド移動問題とかですか。
まぁ、ex、、しかないわなぁ、、
ex10か12か13かはしらんけど(まぁ10か)
>>144 あ、そっちですか。
tvd っておおきさどのくらいでしたっけ。
どっちでも特に問題なく、入ると思います。
live22 は bbs.cgi read.cgi 止めてっと
offlaw.cgi はそのままにしておこう(問題先送り)
雪だるまで過去ログはどうするか・・・
まぁ、12/13どっちかというとex12よりもex13なのかなぁ。
ex12、サッカーのほうはいちおう盛り上がりそうなイベントがあるし、、東アジア選手権でしたっけ、
ex13、野球のほうはこれといって集中して盛り上がるようなのは少ないようなふいんき、
んじゃ
tvd tv7 -> ex13 移転ということで、(来週までには)
live22 live22x が出来た(と思う)
bbs.cgi@本体 にもフックかけた
bbs.cgi@live22x -> live22 部分作るです
まずは Perl で書いて見るっす。
>>149 datが入るのは、live22 のほうですか。
ということは、offlaw.cgi を、ちょっとごにょごにょするか、
あるいは単にバックにとばすだけにするか、どっちかですかね。
>>152 おつです。
>>152 F22 は、どうしますか? < live22 / live22x
どうしますか? というと?
live22x に書いたら
live22 に dat & log が生成されるようになった。
live22 で index.html subject.txt subback.html 等の更新、
live22x で dat index.html subject.txt 等の同期を行えば
動き出す予感。
>>155 んと、現状でf22の起動リストに入れますか、ってことです。
同期部分、本日帰宅したらちょっとごにょってみるです。
ここで当初の私の計画では
live22に作った snowman.cgi が subject.txt index.html subback.html
を更新する予定だったけど、なにやら 通信bbs.cgi というのがあるので
ここで作業はやめたほうがいいのかな?
ということは私の作業は完了したのだ。
「うまく行きそう」となったら snowman.cgi を snowma.dso に書き直すです。
>>156 必要があるか? ということですか?
必要性を論じないと答えが出ないし
必要性を論じれば答えはでるかと、、
どっちも必要な気がしますが・・・
live22 : dat落ち処理
live22x : 規制等
お,急に動き出しましたね......
bbsd なんですが,subject 更新等重い処理の軽量化とデータ書き出し処理の分離での
雪だるま対応という両にらみのものとなってます.ソースは C なんで mod_cgidso 対応の
プログラムを作れるなら bbsd に手を加えていくことも可能だと思います.
>>159 あ、来てたですか。
>>157 >>159 をふまえると、
「おじさんのテクなら bbsd でも dso でもたぶんいじれますよ、きっといじれますよ」
ってことですかね。
bbsd を live22 に入れたら
勝手に index.html subback.html subject.txt が出来る
と思っていいんですか?
snowman.cgi すら必要ない、
snowman.cgi から bbsd に何らかの信号をおくる必要がある、
bbsd で三種の神器が生成されるタイミングと live22x とのfile同期の
タイミングはどうなのか?
>>161 >「おじさんのテクなら bbsd でも dso でもたぶんいじれますよ、きっといじれますよ」
そうですね.
>>162 >bbsd を live22 に入れたら
>勝手に index.html subback.html subject.txt が出来る
index.html は今はまだ未実装ですが,最終的には生成させる予定です.
フロント側の bbs.cgi からソケット経由でデータを渡してやれば
dat や subjext.txt etc. が生成されるようになってます.
>>161 うんうん、多分大丈夫かと、
ちとやる気になっているわたし
bbsd に挑戦。
どんな手順でやるですか?
bbsd は思いっきり公開? して私が組み込むとか
MUMUMUさんが入れて私がちょこちょこしていくとか、、、
>フロント側の bbs.cgi からソケット経由でデータを渡してやれば
の部分をちと詳しく、
つまり live22x の bbs.cgi から live22 の bbsd を直接コール?
1) dat 書き込み
2) log 書き込み
3) subject.txt index.html subback.html 更新
全部やってくれると考えていいのかな?
F22 動かしてくるです。< live22 / live22x1
ふむふむ
あとは「どうやって live22 の中に bbsd を入れるか」ってとこかな?
あと、logdat 部分は秘密な部分があるのでコーディングはどうするか。。。
>>168 秘密の部分はサブルーチン呼ぶ形で作っていただくことにして、
サブルーチン部分はおじさんが作る、ってことでいいんではないかと。
f22 status:
live22.2ch.net: on
live22x1.2ch.net: on
リロードバーボンは、動かしていません。
_ ∩
( ゚∀゚)彡 SunOs ★!SunOs ★!
⊂彡
と言っても、
実はbbsdが dat に追記したり log を追記したりする部分においては
bbsd は中身が何であるかはどうでも良く(カプセル化)、
所定のファイルに貰ったデータを追記するだけだから
ログファイルを書き出すファイル名を作るサブルーチンでよかったりする。
今作った snowman.cgi(Perl) は
bbs=dancesite
key=1123456789
outdat= .dat に追記すべき文字列
logdat= log に吐き出すべき文字列
を貰って上記の追記を行うというプログラムだす。中身は見ていない。
>>172 >今作った snowman.cgi(Perl) は
>bbs=dancesite
>key=1123456789
>outdat= .dat に追記すべき文字列
>logdat= log に吐き出すべき文字列
>を貰って上記の追記を行うというプログラムだす。中身は見ていない。
なるほど......今の bbsd は bbs, key, outdat に相当するものは
受け取るようになってますが logdat に相当するものが今はないので,
そのデータも受け取るように bbs.cgi とのやりとりの部分は変更しなきゃですね.
>>171 本人がご希望であれば、qb5/6の★はきっと出せるんではないかと。
bbsd を live22 に組み込んでいただいて、
修正の仕方を教えて頂ければあとはつくるだけでーす。
コードのありかと、たぶん make の仕方。
>>175 システムスタート時に bbsd を自動起動するしかけは、
私がしこめると思うです。
>>175 >コードのありかと、
http://sunos.saita.ma/bbsd.c ただ,
>>173 対応で今書き換え中ですが......,
bbs.cgi からの呼び出し方も変更になりますね.
>たぶん make の仕方。
gcc -o bbsd bbsd.c [-DUSE_THREADS] [-O3 ...]
-DUSE_THREADS を付けるとマルチスレッド版になります.
-O3 等最適化フラグは適宜......
修正については,分からない点があれば質問して下さい.
どすればいいのだろぅ、、、
おおっ
時間差攻撃。。。
>>177 を むむむさんに入れてもらえばいいのかな?
どこに置くとかいろいろわたしじゃ力不足、すんません。
>>179 はい。そんでは。
>>177 本日帰宅後にやりますんで、
今やっている書き換えが固まったら、このスレで教えてくださいです。
で、起動方法とかそのへんは、適当に教えていただければ
たんたんとやっていくです。
そんで、 live22 <=> live22x の間はプライベートアドレスで通信しますので、
INADDR_ANY じゃなくて、コマンドラインから指定したIPアドレスで
ソケットをbind() できるようになっていると、うれしいですね。
あと、クライアント側から突っ込む時のAPIの仕様をメモにすると、
おじさんが喜ぶでしょう。
で、qb5の★を発行する時期に入っていると思いますが、いかが。
たこが。
ウニが。
イカが。
>>180 >で、起動方法とかそのへんは、適当に教えていただければ
>たんたんとやっていくです。
bbs.cgi スレの 738 あたりに説明がありますが,それで不明な点があれば質問して下さい.
入れる場所は適当でいいんですが例えば /usr/local/sbin とか......
>そんで、 live22 <=> live22x の間はプライベートアドレスで通信しますので、
>INADDR_ANY じゃなくて、コマンドラインから指定したIPアドレスで
>ソケットをbind() できるようになっていると、うれしいですね。
そのための -b オプションでして......ちなみにデフォルトは
INADDR_ANY じゃなくて 127.0.0.1 になってます.
>あと、クライアント側から突っ込む時のAPIの仕様をメモにすると、
>おじさんが喜ぶでしょう。
ん〜と.....クライアントってのは bbs.cgi のことですか?
>で、qb5の★を発行する時期に入っていると思いますが、いかが。
ほしいのは星より太陽で......というか,まだまだ修行が足りない身ですんで......
太陽→●
こっちか
何をおっしゃいますやらw
この隙間を利用して tvd 移転なんぞを、、、
Σ(゜□゜ノ)ノ
やっちゃえやっちゃえ
収容先はex10 or ex13 ?
ex10はやめてくださいー
はやっ
もうできてるしw
196 :
名無し草:2005/07/08(金) 22:08:25 BE:40302645-#
おつかれさまでしたー
>>173 対応しますた.
http://sunos.saita.ma/bbsd.c bbs.cgi 側では
----------------------------------------------------------------------
use Socket;
use constant BBSD_HOST => inet_aton('127.0.0.1');
use constant BBSD_PORT => 2222;
use constant BBSD_TIMEOUT => 1;
sub bbsd {
my ($rfd, $str) = ('', '');
my $sin = sockaddr_in(BBSD_PORT, BBSD_HOST);
socket(SOCK, AF_INET, SOCK_DGRAM, 0) || return "$!";
send(SOCK, join("\x8", @_), 0, $sin) || (close(SOCK), return "$!");
vec($rfd, fileno(SOCK), 1) = 1;
if (select($rfd, undef, undef, BBSD_TIMEOUT)) {
recv(SOCK, $str, 256, 0) || (close(SOCK), return "$!");
}
else {
$str = "書き込みを受理しましたがサーバが混雑しています.書き込みが反映されない場合もあります.";
}
close(SOCK);
return $str;
}
----------------------------------------------------------------------
で,$logline にログへの出力行を入れておいて
書き込み処理:
my $errmsg = bbsd($bbs, $key, $datline, $logline);
レスの通常あぼーん:
my $errmsg = bbsd($bbs, "delete:$key", $range, $logline);
レスの透明あぼーん:
my $errmsg = bbsd($bbs, "tdelete:$key", $range, $logline);
スレッドのゴミ箱逝き:
my $errmsg = bbsd($bbs, "delete:$key", '*', $logline);
スレッドのファイル自体削除:
my $errmsg = bbsd($bbs, "tdelete:$key", '*', $logline);
subject.txt 等の再生成:
my $errmsg = bbsd($bbs, 'repair', $logline);
土器土器
和久和久
手化手花
雨露雨露
205 :
名無し草:2005/07/08(金) 23:30:42 BE:3573623-##
>>95 今現在ではなく、将来的なコトを考えれば
b) は必ずしも純粋な逓倍にはならんとおもうよ
今やコンシューマ向けのやすいやつでヅアルCPUが組めますからのう、
それとも、前と後ろが同じhardでないと拙いとかあるんだべか?
?
どういう意味?
金銭的なコストのことでは。
今Opteron64*2でやってるのをAthlon64x2に置き換えられれば
同じ性能でぐんと安く作れるとかで。
でも運用コストは変わらないというか増える気がする。
208 :
名無し草:2005/07/09(土) 00:25:38 BE:37516897-##
209 :
名無し草:2005/07/09(土) 00:26:51 BE:17865656-##
>>207 んだなぁ
こういうコトをしると扱う機械のしゅるいがふえますからのう、
帰宅です。
まずは、めしを。
昨日は10分もかけずに早飯したんで、
今日はちょっとだけ、ゆっくり目に。
>>210 お帰りなさい.ごゆっくりどうぞ.
で,sunos.saita.ma で拝借してる tiger 上で試しに動かしてるんですが,
warning: setsockopt: No buffer space available
になってしまいますね(まぁこれでも一応動くことは動くんですが).
FreeBSD 上で setsockopt() で設定できる SO_RCVBUF の最大値がわからんのですが......今は
#define SO_RCVBUFSIZE 262144
にしていて,man によると
The system places an absolute maximum on these values, which is
accessible through the sysctl(3) MIB variable ``kern.ipc.maxsockbuf''.
とのことで,sysctl kern.ipc.maxsockbuf で出てくる値はまさに 262144 なんですが......
あと,
gcc -o bbsd bbsd.c -O3 -fomit-frame-pointer -march=pentium4 -Wall -DUSE_THREADS -pthread -s
で一応マルチスレッド版はビルドできて動いてはいるようです.
といっても,まともに負荷がかかった時もちゃんと動くかまではわかりませんが.
212 :
名無し草:2005/07/09(土) 01:01:15 BE:9528544-##
なつかしい書き込みをしるひとがおったで
こっちにゆうどうすてみた
フロントがN台の時
ある処理を バックでやったら一回で済むけど
N台のフロントでやったら N回かかるという話しをしているんですけど、、、
高いマシンでやろうが安いマシンでやろうが、
めしおわり。ちょっとマターリしてから。
>>211 当然、デフォルトの値なんかでは使ってなくて、
/etc/sysctl.conf
# increase listen queue
kern.ipc.somaxconn=8192
kern.ipc.maxsockbuf=2097152
%sysctl kern.ipc.maxsockbuf
kern.ipc.maxsockbuf: 2097152
となっているので、ご安心を。
>>214 なるほど.UDP なんで,SO_RCVBUF が小さいとリクエストが殺到した時何も言わずに
パケットが破棄されちゃいますからね.これは余裕を持った値にしておきたいと.
216 :
名無し草:2005/07/09(土) 01:21:57 BE:21438566-##
>>213 ああ、なるほど
さいしゅうてきにどこまでやらせるんかはいまいちわかりませぬが、
とりあえずfrontで表示(read.cgi/dat公開)することだけをやらせるのなら
いままでどおりな(BBYとかとおなじような)「更新しました信号」を
backが更新のつどfrontに発射しるだけなんでなかべか?
おらはバカなのでようわかりませぬが。。
>>215 UDPですか(まだ、ソース読んでいません)。
TCPは結構まじめにチューニングしてあるつもりですが、
UDPは、どうかな。
それなりには、大丈夫だと思いますけど。
あ,そうそう,
>>199 の
use constant BBSD_HOST => inet_aton('127.0.0.1');
は,実際に bbsd が動いてる鯖のアドレスに適宜変更して下さい.
--- bbsd.c.ORG Fri Jul 8 06:15:00 2005
+++ bbsd.c Fri Jul 8 09:52:54 2005
@@ -196,7 +196,7 @@
(inet_pton(sockaddr.sin6_family = AF_INET6, cp, &sockaddr.sin6_addr) \
|| inet_pton(sockaddr.sin6_family = AF_INET, cp, &((struct sockaddr_in *)&sockaddr)->sin_addr))
-int parse_argv(server_t *server, int argc, const char *const *argv)
+int parse_argv(server_t *server, int argc, char *const *argv)
{
const char *p;
int c;
@@ -1188,7 +1188,7 @@
return 0;
}
-int main(int argc, const char *const *argv)
+int main(int argc, char *const *argv)
{
int status;
server_t server;
ってしないと、getopt() がwarningを出すですね。
man 3 getopt すると、
int
getopt(int argc, char * const argv[], const char *optstring);
だそうです。
>>219 で、-O2 -DUSE_THREADS で、 -lthr して動かしてみようかと。
雨季雨季
>>218 ということは
(新規追加)
+live22.2ch.net:206.223.150.54
このIPアドレスを入れればいいんだな !!
-pthread 使わずに -l で直接スレッドライブラリ指定する場合は
-D_REENTRANT とかも指定しなきゃかな.
>>223 ではなく、192.168.100.1 を使ってくださいです。
>>224 -pthread のほうがいいですか。では、それで。
はいー
192.168.100.1を使います
% make clean
rm -f *.o bbsd
% make
cc -O2 -DUSE_THREADS -o bbsd bbsd.c -pthread
% su
# make install
install -c bbsd /usr/local/sbin/bbsd
# ldd /usr/local/sbin/bbsd
/usr/local/sbin/bbsd:
libpthread.so.1 => /usr/lib/libpthread.so.1 (0x2807b000)
libc.so.5 => /lib/libc.so.5 (0x2809f000)
さて。
>>199 の bbsd(); はどういう引数で呼べばいいのかな?
>>226 そうだった,プライベートアドレスじゃないと......
>>229 とりあえず
my $errmsg = bbsd($bbs, $key, $datline, $logline);
ですね.
はーい
こっちでも、
rootさん、こんばんはーヾ('-')ノ
#!/bin/sh
exec 2>&1
exec env - PATH="/usr/sbin:/usr/bin:/bin:/usr/local/bin" \
setuidgid ch2live22 /usr/local/sbin/bbsd -f \
-b 192.168.100.1 -d /home/ch2live22/public_html \
-i 5 -I 60 -n 4 -p 2222 -s live22.2ch.net
ってのを作って、daemontoolsの配下にしてみた。
ちゃんと、常駐しているみたい。
%netstat -f inet -a -n | grep 192.168.100.1.2222
udp4 0 0 192.168.100.1.2222 *.*
問題なければ、叩いてみてくださいです。
>>234 おお、いい瞬間に。
なんかこれから、歴史的なことが起こるみたいですよ。
たたけー
No such file or directory になった
雪だるま作戦 (live22x.2ch.net)
No such file or directory
だそうです。< dancesite
スレ立てだから?
何かファイルが欠けてるのかな...... SETTING.TXT か何か......
dancesite にlog は書かれているな、
.log じゃなくて .cgi にしてくださいー
>>242 snprintf(*worker->paths, sizeof *worker->paths, "%s/%s/.ht.bbsd.log", server->docroot, request->bbs);
ここですか。
たぶん
あるいは subject.txt か......サイズ 0 でもいいので置いてないと......
>>243 名前変えるならそこですね.
>>236 こんな所に隠れて、なにやってるのー?
ところで、rootさんの背中に付いてる「べ:」ってなんですかー?ヾ('-')ノ
サイズ 0 で subject.txt おきます
本番では無いときの場合の処理が必要と思われ、
おおっ !
とおった?
>>246 取り込み中です。あとでー。
というか、浦島さん?
>>243 とりあえず、.cgi にしたです。
subback.html
subject.txt
が出来てる出スよ !!
ですね。私も確認しました。
最初の段階は、クリアしたのかな。
>>247 じゃあないときはサイズ 0 の subject.txt が存在するのと等価な扱いにしておきましょう.
datもあるですね。
FOX ★<><>2005/07/09(土) 02:34:58 ID:???<> ffff <>cffff
>>253 おねがいしますー
>>252 live22x と同期とれば専ブラからだったら
ほぼ完成かと、
で、index.html subject.txt subback.html とかを
同期できるしくみが、別にあればいいのかな。
live22x のほうで、subject.txt subback.html index.html って、
作ってるんでしたっけ。
スレ立てちゃった
live22x では全ては live22 からやって来るというつもりで
何も作っていませーん
あーっ、なんか面白そうな事やってるーヾ('-')ノ ズルーイ
了解です。
>>259 ってことは、live22xのApacheにそれらのファイルへのアクセスがあったら、
live22にとりにいくことにして、live22xのApacheでそれらをキャッシュ的に
保持できればいいのかな。
│_A
│・−・) 枠枠。。。
↓ ⊂)
public_html/dancesite/ は /md へのシンボリックリンクです
dat も /md 配下です
さて、subject.txt subback.html index.html の共有ですが、、、。
NFSする(ちとあれかな)
CacheFSする(ないものねだり)
どうする?
つまりそこへファイルを格納してもらえれば。。。
ただしアクセスあったやつだけじゃなく
定期的に(2sec? 5 sec? 10sec? ...) 全てのファイルをです。
なぜなら LIVE22X は複数台あるから、
>>263 それは、live22 live22x どっちの話でしたっけ。
live22 かな。
インターバルでやるですか。
bbsd経由でやるですかね。
bbsc(仮称)を、live22xで動かして、bbsdと数秒感覚でお話して、
index.html subject.txt subback.html の mtime が更新されてたら、
とってきて格納するかんじで。
ふーむ、、、。
やっぱ、CacheFSがほしいけど、
それよりはApacheのmod_proxyとかsquidとかを使うほうが、
スマートな気がするですね。
タイムなんてみないでばっさばっさと送り込め(取り入れ)ばいいような、
なんせ LIVE サーバですし、 hdd より超高速ですし、
mod_cacheだったかも。
で、
・最初はないから、live22のをひっぱってくる
・で、live22xに用意したキャッシュに入れる(メモリディスクがよさげ)
・次はメモリキャッシュのとタイムスタンプを比べて、更新があったらひっぱってくる
ってかんじか。
で、最初の段階では、タイムスタンプなんて
みなくてもいいかも、ってゆってるですかね。
>>274 そです そです
定期的に上書きされればいいのです
いらないものは無いほうがいいけど(dat落ち等の話し)
まぁ Apache の mod_proxy + mod_cache ですかね.フロント側で read.cgi 動かすとなると
Squid では直接は動かせないことになるんで.それでも,CacheFS のように直接 dat を open()
できないんで,read.cgi は Apache に HTTP リクエストを投げて dat を取ってくることになりますが.
最初も後もあんまタイムスタンプ見る必要性を感じないんですが、、
たぶん全部転送しても多く見積もって 200msec くらいじゃないかな?
リバースプロキシの設定すればいい、ってかんじですね。
NFSしちゃおっかな。
NFS越しの書き込みとかロックとか、起こらないですよね。これだと。
うそついた、
本当は 10msec以下のような、
てか、-ro で NFS してもよさそうだ。
NFSしちゃえば、read.cgiはそのまま動かせる、、、とか、
皮算用していたり。
でも、mmap()してたらだめか。
う〜む......やはり CacheFS があればってとこなんですよね......
ちょっと、NFSしてみるです。
久しぶりに設定するから、ちとどきどき。
つまり
NFS と言われても何がどうなるのか
私にはわからないのであった。
まぁバックエンド (live22) が意外と余裕綽々ならそっちで read.cgi 動かすって選択肢も
ありますけどね.それならフロント (live22x) は Apache + mod_(proxy|cache) で済みますし.
その場合 read.cgi での Last-Modified チェックは入れるべきでしょうけど.
NFS
New Fuck'n Sucker の略だそうだ(すいません黙ります)
おっ
ギコナビからみれました
スレ立てしたり書き込みしたりしてもいいのかしら
動いてる〜
live22x にログインして、df って打ってください。
NFS というのは、そういうものです。
janeで見ようとすると、見れないなぁ
>>293
あとは,アクセスが殺到した時に耐えきれるか,ですかね......<CacheFS なしの NFS
すれたてもできたー
NFSの定義が知りたいんじゃなくて、
どういう動作を想定して ← ここ重要
結果 NFS になったということが知りたいのだ。
そですね。
read onlyでしかmountしなくて、ロックもなしなら、
まぁ、クリティカルじゃなければ。
しかしNFSまわりのチューニングって、何年ぶりなんだか。
すっかり /etc/exports の書き方を忘れていたことは、秘密にしてください。
>>299 live22x の public_html/dancesite 以下のファイルの参照は全部、
live22 の public_html/dancesite 以下のファイルを参照させる
という動作を、想定しています。
リードオンリーです。
NFSでの書き込みの機能もありますが、それは思いっきり「事故の元」なので、
考えていませんです。
>>293 わたしエラーで書き込めないですヾ('-')ノ
>>299 live22x で動かす read.cgi から dat を読むことを考えてでしょうね.
HTTP proxy だと直接 open() できませんから.
>>304 そういうことです。
これで、改造なしで read.cgi をフロント側で動かせると。
つまり フロント側(live22x)のRAM を使うんじゃなくて
すべて回線経由でバック側のRAMを見に行くとうことかしら?
IEと鹿公園α2で見えましたけど両方とも書けなかったです。
現状ディスクI/Oをlive22側で全て引き受けるってことですよね
>>307 *今は*そうです。
毎回、ネットワーク経由でいくと。
SolarisだとCacheFSってのがあって、
2回目は自分のを見に行かせられるのですが、
FreeBSDだと、そんなふうになりますね。
ここはもうちょっと、いいしくみにできるとうれしいなと思っているです。
復帰しても subject.txt が正しくならないのはなぜ?
全ての dat が表示されていない
あ、RAMディスクなのか。なるほどなるほど。
>>309 その辺なんですが、、、
たぶん大丈夫だと思いますが、これからのテストで明らかになるということで、
復帰は、live22でやってください。
live22xでは、dancesiteの下に書き込むことはできないです。
わざとそうしている。
>>313 あれー?さっきまで表示されなかったのにーヾ('-')ノ
>>311 subject データは bbsd がオンメモリで保持していて,他のプログラムが
subject.txt 等を変更しても bbsd に上書きされてしまいます.その対策として
subject.txt 等の再生成:
my $errmsg = bbsd($bbs, 'repair');
という機能も実装しているんで......
だから index.html ができた
>>318 私の知っている復帰スクリプトに組み込んでみます。
鹿公園で無事に書けました。
>>318 なるほど、、、。bbsdが支配しているのね。
live22x の Apache に mod_cache を組み込む & read.cgi で Last-Modified チェックを
入れる,って形にすれば,フロント側でキャッシュが効いてくれるかな.
live22のpublic_html/dancesiteの下をlive22xに見せるのをNFSでやっているのは、
「とりあえず、こんなふうに動くかんじ? 」っていうイメージを見せるためにやっているんで、
ほんとはもうちょっとかっこいい仕組みを、入れたいなぁと思っていたりするです。
>>323 mod_cacheやmod_proxyを、うまく生かしたいかんじもするですね。 > かっこいい仕組み
次のページなんて久しぶりにみたよ
と思ったら、、、
また元にもどっちまったぞ ???
なんか毎回IDがかわっちゃうような
今なら自演し放題w
(´-`).。oO(凄く進んでますね)
壷だと板トップがうまく表示されないんだけど。
IDかわるねえ。中途半端にかわったりも。
なんで ID 変わるんだろ、、、
ID作ってるのは、どっちだっけ。
live22xでいいのかな。
書き込めなくなった…。
beの表示もへんだし
もう一回復帰してみた dancesite@live22
復帰した瞬間は正しい subject.txt だけど
しばらくすると(次の投稿があると?)もとに戻っちゃうようです
----[bbs.pl]----------------------------------------------------------
#!/usr/bin/perl -w
use strict;
use Socket;
use constant BBSD_HOST => inet_aton('192.168.100.1');
use constant BBSD_PORT => 2222;
use constant BBSD_TIMEOUT => 1;
sub bbsd {
my ($rfd, $str) = ('', '');
my $sin = sockaddr_in(BBSD_PORT, BBSD_HOST);
socket(SOCK, AF_INET, SOCK_DGRAM, 0) || return "$!";
send(SOCK, join("\x8", @_), 0, $sin) || (close(SOCK), return "$!");
vec($rfd, fileno(SOCK), 1) = 1;
if (select($rfd, undef, undef, BBSD_TIMEOUT)) {
recv(SOCK, $str, 256, 0) || (close(SOCK), return "$!");
}
else {
$str = "書き込みを受理しましたがサーバが混雑しています.書き込みが反映されない場合もあります.";
}
close(SOCK);
return $str;
}
print bbsd(@ARGV)."\n";
----------------------------------------------------------------------
>>340 とりあえず↑のような Perl スクリプトこしらえて,コマンドラインから
bbs.pl dancesite repair
とか実行してみて下さい......
えっと、まずリンクふんだらでてきますよね、板。そんでそこにあるスレ達の
レスって、一番最新のレス数個のはずですよね。
それが最新じゃないんですけど。レスを全部読む、を押して初めて一番最新のレスまで
出てくるんですが。
そういう仕様にしたんですか?
>>342 まさに今、そのへんをやってるわけです。
まだ、先は長いってことで。
>>341をsunos.saita.maに置いて、おじさんがwgetできるようにするとよさげ。
344 :
342:2005/07/09(土) 04:09:16
あ、すんませんありがとうです。完璧文系なもので・・・
引き続きがんがってください。
NFSする以外に、いい方法ありますかねぇ。
ベースはApacheのmod_cache + mod_proxyで動かして、
そのうえでread.cgiに小改造を加えて、datがローカルになかったらhttpでフェッチするとか、
そんなかんじですかね。
>>344 いやいや、まだ初日なんで先は長いっすよ、きっと。
ご指摘はたんたんとしていただけると。
スレ開くと人大杉になるんだけど
NFS + md とかかなぁ。
で、あるインターバルで、しゃにむに rsync するとか。
>>348 > よく考えたら,NFS 使ってても mod_cache 使えば普通にフロント側でキャッシュしてくれますね.
そんな気がするんですよね。
NFS + mod_cache っていう手も、あるのかな。
でも、単純に
>>349 っていうのも、有力かも。
でも、インターバルが15秒とかでも、
ちとつらそうだなぁ。
なにせ、liveだもんね。
NFs + mod_cache あたりが、よさげかも。
353 :
342:2005/07/09(土) 04:20:28
しゃにむにNsync
うーん「POP」をずっと踊れと言うのか・・・(てか今このネタ分かる人ここにいるのか)
ねむくなってきたかも、、、。
リブートしても大丈夫なような処理だけして(live22x)、
今日のところは沈没の方向かもです。
ただ、なんか基本的な路線は、少しだけ見えてきたような肝。
355 :
342:2005/07/09(土) 04:25:07
げ、名無しに戻るの忘れてた。
>>354 お疲れ様です〜。
んで素朴な質問ですが、x系(妹でいいのかな)が複数台になったときに
ユーザには都度どれかが割り振られることになるんですよね?
ID生成の元は姉側で管理することになるのかしら。
今日の設定内容をダンプしておくか。
NFSはとりあえず動かしただけなので、完全にデフォルト状態です。
各デーモンは、4つしかいないと。
・live22
/etc/rc.conf
rpcbind_enable="YES"
nfs_server_enable="YES"
で、/etc/exports で、
/md -alldirs,ro -network 192.168.100.0 -mask 255.255.255.0
と指定。
・live22x
/etc/rc.conf
nfs_client_enable="YES"
で、手で、
# mount -r 192.168.100.1:/md/ch2live22/dancesite /home/ch2live22x/public_html/dancesite
を実行。
>>357 おぉー。
つまり、妹を複数台にしたら、そいつらでは同じIDが生成されないといけないのねん。
レスを全部読む、を押すと、人大杉が出る・・・
サーバ名と板名がおなじだから同じIDになるんじゃないの?
乱数ってのもあるのか?
md5.cgi も共有されるから若干のbbs.cgiの改造でokと踏んでいたですよ。
ただし md5.cgi は live22がセット
>>362 でぶらんだむ、よんでませんでしたっけ。
よんでるですね。
foxCreateMD5id
読んだ結果を保存して
あとは使いまわすという仕様かと、
んで一日一回生成
ってことは、でぶらんだむ読むところを、
小改造ってかんじですか。
スキップするだけかと、
て優香、md5.cgiって、ファイル書き込んでるんですか。
実際のレス数に、真ん中のスレタイトルとレス数欄のレス数が全然おいついて
いない件。
>>370 Invalid argument
と言われたです
>>373 あ,$logline も必要でしたね......
bbs.pl dancesite repair repair.from.log
おっ うまく行ったかも
>>374 ちとふっきにも入れてみます
192.168.100.1:/md/ch2live22/dancesite home/ch2live22x/public_html/dancesite nfs ro,bg,intr 0 0
を、live22xの/etc/fstabに入れた。
これでリブートかけても、同じようにマウントされるはずです。
で、もしmount時にlive22が落ちていてもバックグラウンドでリトライして、
上がったらmountされるです。
で…、眠いです。すんません。
明日あさっては、本業しながらたまにここを覗くかんじで。
有意義な1日でした。
bbsd をいれかえて、それがおわったらねるです。
.dat のパーミッションを参照して動くスクリプト多数なんで
この変も修正が必要かも
通常の dat = 0666
スレスト = なんだったっけ、、、
あとでまとめます。
あとは、あれですか、
過去ログとか削除とか、それ系もあるですね。
>>375 $errmsg = bbsd($FORM{'bbs'}, 'repair', 'repair.from.log');
これを復帰に組み込んだけど
やっぱり一旦は正しく復帰されるけど、ちょっとすると戻っています
ちなみに log には repair.from.log が書きだされています
bbs.pl dancesite repair repair.from.log
の場合はうまく行くようです。
>>381 bbsd を今のバージョンに入れ替えました。
リスタート済み。
スレいくつか移転した?
>>380 不思議ですねぇ.sub bbs {} でやってることはどちらも同じなんですが......
>>384 s/sub bbs/sub bbsd/
というわけで、おやすみなさいです。またあした。
388 :
名無し草:2005/07/09(土) 05:06:39
明日行こう
細かなところは直すことより洗い出し優先ってことで
みなさまお願いします。
大きなところでは
index.html の更新ですねぇ
bbsd でやるのかそれとも・・・
Snowmanでテストで実況とかして良いのかしら?
明日お出かけですかw
okok
>>391 ID同じになった。
IDのタネは一日一回 live22 の方で
全板分作る方式へ変更
>>383 なんかfestival(お祭りch)から2スレほどきてるような気がする
なるほど、そうでしたか
>>393 タネのやりとりもbbsd(か同形式のもの)でやれるようになるといいですね
というか,live22 で cron から呼んで1日1回生成させれば,
あとは NFS なり何なりで普通に読み込めるかと.
くそっ乗り遅れた
・index.htmlにある各スレへのリンクが旧形式、subback.htmlにあるリンクは新形式になってる
・Firefox1.04、Sylera2 2.1.28でsubback.htmlを見るとフォントが異様に小さい
IE、Sleipnir1.66では運用情報と同じ
live22x<body style="font-size:x-small;"> qb5<font size=2>とIEコンポの違いかな?
>>400 そうそう
そんなような新仕様を作成中。。。
rootさん、こんにちはー
これは、ブレードサーバ導入の布石ですか?ヾ('-')ノ
もうとっくにブレードでしょ。
Lovely書けたお
基礎をLovelyに依存してるStyleも書けるんじゃないかな
色々やってみるか
Style1.24は無理でした。
Lovelyが書けたって事は2.00は書けるのかな?
もうブレードなのですかーヾ('-')ノ シツレイシマシター
ギコナビかけないぽ(´・ω・`)
410 :
名無し草:2005/07/09(土) 14:57:31 BE:4013748-#
>>410 Version バタ50(1.50.0.595)でやってみましたが、無理でした。
何が問題なのだろう。。。
あっちではIz6GYiKcのIDでテストしてるんで、ブラウザ名書いてるのはOK
>>407 2.03で書ける
live22x
なんか反映されるのが遅い
live2ch は書き込み直後にリロードするんだが、そのタイミングでは反映されてない
>>413 私が使っているホットゾヌ2 age20 バタ29でも
同じ現象になりますね。
スレに投稿を書き込み(POST)してスレをリロード(GET)する時のタイミングが
専用ブラウザの方が早いから起こる現象なのかな?
よく分かりませんが。
主要ブラウザはほとんど書けるね。公式p2も書けるらしいし。
A Boneだけは誰か確認して欲しいかも。
>>413 live22とlive22xの同期がリアルタイムじゃないんだろうね。
書いてからレスが読み込めるまでの差もまちまちだった。
OK
Lovely0.1.6.4
Style2.03
Doe View 0507040153
本家Doe 0.1.12.2
kage0.99.1.1155
ホットゾヌ2 age20 バタ33
ギコナビ バタ50(1.50.0.595)
twintail 2.0.33.0
壺2.5.5.3
微妙
A Bone1.49
「ERROR:ブラウザを立ち上げなおしてみてください。」と出るけど書けてる。気がする。
スレdat落ちしてた
>>415 なんでだ?
Style2.03落として解凍して板追加して、即書けるけど。
さいしんばんかな?
050703だす
くおーたーばっくでたすけるよはどうですかといってみるてすと
kacyu1155からこんにちは
ごばく。 orz
index.html 生成に関してなんですが,ページの下の方に表示される
BB* や Samba24 等規制関連の情報などはフロントエンド (live22x) が持っているもので,
バックエンド (live22) は持ってないんですよね......
さらに,しばらく前に話が出たままたなざらしになってる
■ pageview.cgi導入計画
http://qb5.2ch.net/operate/kako/1112/11122/1112257332.html というのもあるんですが,仮にこれを走らせるとなるとやはりフロント側の仕事ですよね.
で,index.html というのはまさに pageview.cgi の1ページ目の表示内容である,と.
そこで考えてみたのですが,
1. CGI 等が index.html を生成 → その index.html をブラウザに返す
2. CGI 等が動的コンテンツ生成 → それを mod_cache でキャッシュ → そのキャッシュ内容をブラウザに返す
この両者は mod_cache が有効に作用する限りにおいて
実質的にはあまり大きな差はないのではないかと思えるんです.
つまり,Last-Modified チェックを行い(必要に応じて Cache-Control も
吐くようにして)出力が mod_cache でキャッシュされるようにした
pageview.cgi を作成し,それをフロント側 (live22x) で動かして,
index.html 宛のリクエストは mod_rewrite で pageview.cgi の1ページ目への
リクエストとして扱うようにしたらいいのではないかと思ったんですが,
いかがでしょうか.
# pageview.cgi そのものの復活による影響への懸念があるということなら,
# とりあえずは1ページ目だけしか出力しない形にしておけばいいのではないかと.
>>426 スレあぼーんのコマンドはありますが,dat 落ちのコマンドはないので
現状では repair しかないですね.そういうケースのために特定のスレを
subject から消すインタフェースも用意した方がいいですかね?
あと pageview.cgi については,それをユーザが直接アクセスするかどうかは
別にしても index.html 生成法の一手段としてということでもあるんで.
ぱっと考えて repair より、スレ消し専用のコマンドがあったほうが
処理は軽いかなと思うデス。
さっと dat なめての整合取りでもいいですけど、
>>427 index.html の生成ですが front でやってもいいですけど
アクセスが半端じゃない ← 懸念1
だから html にして劇的な不可の軽減をはかって2ちゃんねるは生き延びた(1999年)
という経緯があります。動的に作るのは辞めたほうがいいと思う。
あと、dancesite/html/ の下に毎回 html を作るというのが現状の仕様です@bbs.cgi
index.html はそれらの寄せ集め。
>>428 ではスレ消すコマンド用意しますね.
>index.html の生成ですが front でやってもいいですけど
>アクセスが半端じゃない ← 懸念1
>だから html にして劇的な不可の軽減をはかって2ちゃんねるは生き延びた(1999年)
>という経緯があります。動的に作るのは辞めたほうがいいと思う。
それは動的出力をキャッシュせずにダイレクトにクライアントに返すとすればその通りですね.
>>426 の
>1. CGI 等が index.html を生成 → その index.html をブラウザに返す
>2. CGI 等が動的コンテンツ生成 → それを mod_cache でキャッシュ → そのキャッシュ内容をブラウザに返す
>
>この両者は mod_cache が有効に作用する限りにおいて
>実質的にはあまり大きな差はないのではないかと思えるんです.
についてはいかがですか?
html/*.html については bbsd で生成させる方向で.
>>429 ふむふむ
1 と 2 は100%等価ということですね、(キャッシュがあるから)
それであればそれでうまく行くような
dancesite/index.html@live22
これを cgi にするって事ですね。
注意点は、dat 更新以外にも広告やら何やらが更新されたら
更新ってとこかな、
基本的に、内部で.datのサイズと最終更新時刻を保持しているとして、
・全.datのstatを調べ、矛盾があるものだけ詳しく調べ
追記('\n'チェック)と判断できるものはレス数を更新
それ以外は全体を読み直してレス数とタイトルを更新
無いものはリストから外し、余分があったら追加
・特定の.datについて、全体を読み直してレス数とタイトルを更新
の2種類のインターフェースで充分な気が。
でも、良く考えたら
更新の度に作っちゃう出すね < index.html
いまの live20 等はindex.html の作成もかなりサボっています。
たぶん 80% はさぼっている。
90%くらいサボってもいいんじゃない?w
VIPもw
スレを subject から消すの実装しますた.
http://sunos.saita.ma/bbsd.c my errmsg = bbsd($bbs, 'purge', $keys, $logline);
$keys は単一のスレッドキー,または複数のスレッドキーを , で区切って列記したもの.
>>430 dat や広告ファイルなどの中で最新の mtime を Last-Modified として扱えばいいですね.
>>431 基本としては「subject.txt のデータは信用する」という方向です.
現状では複数の書き込みアクセスがかち合うなどすることが不整合が生じる
要因となっているとも考えられるんですが,bbsd の完成形では subject データに
変更を加える操作はすべて bbsd で一括管理するので,原理的には不整合が
生じることはなくなるはずなので.とはいえ,そこに至るまでの途中の段階とか,
あるいは完成形になっても不測の事態が発生した場合などは不整合が生じることも
あり得るので,repair はそうした場合の非常時用コマンドという位置付けです.
>>432 さぼりたいなら Cache-Control ヘッダでいろいろ調整していけばいいですね.
http://sunos.saita.ma/dccache.html でちょっと説明してありますけど.
>>404 このパターンでフロントをブレードサーバにするのは、
よくあるパターンですね。
ただ、ブレードってつぶしが効かないから(拡張性ないし)、
PIEみたいなところだと、必然性はないかなと。
日本のDCだと地代や電気代が高かったりするので、
あり得たかもです。
で、これからちとNFS関係の調整するです。< live22x
httpd落とします。
リブート入れる予定。
live22xの調整は完了。
live22のほうを続いて調整します。
しばらく落とします。
リブートしました。
ううむ、1箇所微妙なところが。
再度、リブート入れます。< live22
そういえば......今は bbsd の -s オプションでは live22.2ch.net を
指定してるようですが,これは live22x.2ch.net の方がいいですね.
subback.html の <base> タグの href に反映されますので.
…と思いましたが、原因がわかったのでやめました。
live22の/md(メモリディスク)をlive22xからNFS mountしているんですが、
これってリブート入れると、Stale NFS file handleエラーになっちゃうです。
通常のファイルシステムなら、リブート後に再度使えるようになるのですが、
/md は毎回作り直されるので、ファイルハンドルが変わってしまうと。
メモリディスクを直接NFSするのは、やや、いまいちですね。
さて、どうしたものか。
>>442 は、live22 をリブートした場合の話です。
で、今日はちと都合により、これから早寝の予定。
えっちするんだー
amd とか使って、オートマウントすれば解決するのかなぁ。
でも、ESTALE の時にumountしてmountしたりしてくれるんだろか。
おやすみです。
体調問題すね。
>>445
>>446 お疲れ様です〜
体調の悪いときは無理なさらぬようゆっくり休んでくださいまし。
寝る前に思い出したので。
bbsd.c をおじさんがいじって、
bbsd を再起動できるようなしかけを、別途作るですかね。
そうしておけば、index.html の生成とか、
あれとかそれとか、実装していただけるに違いないなぁ、とか。
ねるですよ
あ、。が抜けた。
寝るですよ。
ログイン忘れ?なわけないか
┌-UUU-┐
|::::う--.┐|
つ. | ど |::|
|:::└ -ん::|
 ̄ ̄ ̄ ̄
SVN か CVS でもあった方がいいのかしらん?<bbsd.c
あと,/md に対する NFS mount の問題ですか......
amd (automount) でうまくいくかは,とりあえず試してみるということで.
それと,live22 側で /md じゃなくて普通に HDD 使うとどうなるか,ってとこですかね.
live22x 側で mod_cache 使えば読み出しはキャッシュが効くでしょうから,あとは書き込みの問題ですね.
bbsd では dat の書き込みは即時,subject.txt 等の書き込みは -i オプション指定値
(デフォルト: 5秒)のインターバル(ただしスレ立て等は即時)となってますが.
あれれ?
どうしたんだろ、、、
今度見てみます。bbs.cgiかなぁ
flsg の on/off はどうなっています? < 確認ページ
>>462 今はBBQ発動してます。<確認ページ
とも子★によるBBQは発動されるけど、
スレストがされないってのが今のシベ超だと思います。
464 :
名無し草:2005/07/11(月) 19:08:51 BE:119549546-###
手動とか・・・
BBQで焼かれてない串使ってるみたいですね。
dancesite@live22 dat落ちしてるですよね?
どこに消えているんだ? なんにもない@kako
│_A
│・−・) 7/9にたってたスレは、
>>437-444あたりのリブートで消えてしまったらしいっす。
↓ ⊂) (メモリディスク上だったからね)
んで、今日の朝ころは、subject.txtから消えてたスレはあったけど、datフォルダから消えてはなかったっす。。
(たまに動作報告スレなどにあがる、過去ログ倉庫がつくられてない時の症状とほぼ同じっすね)
そっか、、、
もう少し時間を置いてみよう、
帰ったら、ちょっと live22 <=> live22x のファイル共有のところを、見てみることにするか。
実は、まだ会社にいたりするわけだが。
sageであがるsubject.txt作成してほしいのよさ
さぼりまくりでいいからさー
とりあえず index.html 生成の前段階として html/*.html 生成まで実装しますた.
http://sunos.saita.ma/bbsd.c 【bbs.cgi】index.html軽量化作戦スレ
http://qb5.2ch.net/test/read.cgi/operate/1117726508/ ↑についてひ(ry氏の見解がもらえないままなんですが,
実験仕様と割り切ってこの成果を取り込む方向でやろうかと......
# SETTING.TXT の設定情報の読み込みに際して rwlock を使ってるので,
# HTML ドキュメントのあちこちに色設定等が散らばっているより,
# CSS で一ヶ所にまとまってた方が都合がいいということもあります.
それに伴い,html/*.html の内容も従来のものとは若干異なっています.
そのため dat/*.dat から html/*.html を再生成するコマンドも用意しますた.
my $errmsg = bbsd($bbs, 'makehtml', $logline);
>>471 おー。
これから、入れ替えるです。
私のほうは本業多忙のため、本日成果なし。
# で、どうも7月下旬〜8月上旬は出稼ぎっぽい雰囲気が。
というか、dat => html も bbsd の配下になるということか。
というか、これってうまくやれば、
subject.txt subback.html index.html html 等がこわれにくくなるという効果もあるですね。
あと、API を統一できるという話も。
いろんな呪文との整合をとらなければいけないかわりに、
うまくとれたあかつきには、システムとしてはよりきれいになりそうなかんじかも。
# 今日は私が、もうだめぽかも。
> というか、dat => html も bbsd の配下になるということか。
まぎらわしいですね。
ばらばらの html パーツ => index.html 作成部分も、ということが言いたかったわけです。
>>472 SunOS ★さんにlive22系サーバのrootを教えちゃえば(ry
>>477 そのへんは、流れのままにってかんじで。
で、出稼ぎ先にもネットはあるらしいです。
どうも時差もあるらしいですが。
またマイレージ稼げちゃうですねw
出稼ぎっすか。
アメリカの方なのかな。。
>>472 お忙しい中乙です.
>>475 そのあたりも bbsd で意図してる点ではあります.
で,index.html 生成の実装に当たって把握しておきたい点ですが
・ インクルードする広告ファイル等
・ ↓のような情報の取得方法
2ちゃんねる BBS.CGI - 2005/07/05 (SpeedyCGI) +Rock54 +BBQ/BBM +Samba24=10
後者に関しては直接公開する訳にはいかないかも知れませんが,
そうであれば公開可能な情報だけ抜き出して別ファイルを作って
それをインクルードすればいいような形にしておいてもらえればいいのかな.
> ・ ↓のような情報の取得方法
> 2ちゃんねる BBS.CGI - 2005/07/05 (SpeedyCGI) +Rock54 +BBQ/BBM +Samba24=10
これは、live22x 側の bbs.cgi に教えてもらえばいいんではないかなと。
つまり、bbsd は教わったとおりに表示するだけ。
で、bbsd のバージョンもその次の行あたりに表示するとよいんではないかと。
前者は、おじさんか私のうち時間とれた方が、
bbs.cgi の該当部分を、ここに解説するかんじで。
>>483 確かにそのやり方が簡単で,いろいろ考えずに済みますね.
ただ,bbsd に渡すパラメータが変更になりますけど.
で,index.html 生成はまだですが若干変更
http://sunos.saita.ma/bbsd.c ・ html/*.html 生成に際してレス番カウントがバグっていたのを修正(汗
・ ログのファイル名を変更 & カキコとコマンドのログを分離 & 日付単位でログをローテーション
(日付のタイムゾーンは環境変数 TZ で調整して下さい)
・ 前述の対応のためカキコの際の bbsd 呼び出しパラメータを変更
my $errmsg = bbsd($bbs, $key, $datline, $footnote, $logline);
$footnote に↓のような情報を入れて渡す.
2ちゃんねる BBS.CGI - 2005/07/05 (SpeedyCGI) +Rock54 +BBQ/BBM +Samba24=10
>>484 これから、入れ替えるです。
で、env TZ=JST-9 な環境で bbsd を動かそうかと。
>>485-486 乙です.が......bbsd 呼び出しパラメータが変更になってるんで,
bbs.cgi 側の呼び出し部分で $footnote を追加しないと Invalid argument になっちゃいます......
>>487 了解です。
おじさんにおまかせしようかと。
今日も朝まで呑んでるんでるのかな。
ちょろっとサンバを踊るとか、ゆっていたような。
>>489
>>490 あー、書いてましたね。
すると、今日は休肝日ですかw
なにかと忙しくて、、、
今日は bbs.cgi さわれなかった。
朝から晩まで掘りまくり、でも全然終わらない。
もう凄いのなんのって (*´-`*) イヤン
お疲れ様です。
さて、私も仕事を淡々と。。
も、もしや、、、
ここで雑談すんな..
って書こうとしたら思いっきりスレタイに雑談って入ってた件
ここは雪だるま作戦に思いを馳せながら雑談するスレだからねぇ。。
だが作業が行われているから雑談しにくい!
そこは空気嫁でカバー。
作業が始まったら、邪魔しなければ良いと思うよ。
live22xの使用感が、あーだこーだ雑談的に話すのもいいかと。
雑談から何か生まれるかもしれないし。
空気の読めない邪魔しまん参上!
作業している皆様は、無関係な お話をスルー出来る方々だろうから、
多少は よろしいと思うのですが・・・・・。
作業が始まったら退避することにしてます
>>502 それが、よよよさんの良いところっすね。いや本当に。
まぁ、節度を持った雑談なら良いんじゃないかな?
ただ、ソース貼ったりし始めたら止めた方が良いかも?
>>503 私はROMってますね。
もしくはlive22xで遊ぶか(ぉ
>>504 そろそろ、年貢の納め時?
ex10と競馬板は、いつでも(りゃ。
悔しく
なんか、最終的にはBeメールでsuが送られてきそうな悪寒。
来ても拒みませんが、あまり私は役に立たないと思いますよ?
あんこう ★
(・∀・)コンナカンジカナ
雑談がメインですよ〜
たまに、作業。 これが私の生きる道。
私のレベルの手伝える範囲で良いのであればお受けします。
どうすれば良いですか?
>>512 流れのままに、ってかんじっすね。
>>511 の方もだと思いますが。
正直私の感覚では、お会いしてお話しないと、
いろんなことは決めにくいです、です。
管理人方面とか、いろいろ、いろいろ。
などと、マジレスモードで。
> いろんなことは決めにくいです、です。
↓
「それ関係のことについては」
って、補ってくださいです。
ようは、オモミの問題すね。もみもみ。
>>513 なるほど、そういうことであれば。
今度の機会って感じですね。その機会は私の体調が良くなってから。
ご存知のとおり、休日は病院通い状態なのです。
よって、余り遠出できませんので。
遠出に関しては、今はドクターストップがかかってますので。
折角のチャンスを頂けたのですが、先送りとさせていただきます。
ま、今でも野次馬なりにお手伝いできる事はあると思いますので
当面はその方向でお願いします。とマジレス。
はいー。
>>515-516 まずは、体が大事すね(むろん、私も)。
で、bbn.2ch.netが入ったので、
これから時間を見てちょこちょこと、bbs.cgiをいじってみるかもです。
bbn、、びびんびびん。
でも、むむむさんの回答が
>>513-514で良かったですよ。
さすがはrootですね。ちょっぴり安心した私がいます。
世の中にこれくらいしっかりしたrootさんが一杯居てくれたら
メンテ屋の苦労も軽減するかもしれないね(遠い目)
ま、何が言いたいのかは察してくださいw
出会い系サイトですから、
あはは
まさに『人間交差点』ですなぁ。
うーん うーん
bbs.cgi@live22 が特別なものだったか
共通なものだったかを忘れてしまったのだ、
最新のを持ってきてまた組み込みが安全策か、
>>484 やるです @live22x
my $errmsg = bbsd($bbs, $key, $datline, $footnote, $logline);
>>487 変更したんですが Invalid になるような
my $errmsg = bbsd($GB->{FORM}->{'bbs'}, $GB->{FORM}->{'key'}, $outdat,'雪だるま' ,$logdat);
書けませんでしたねぇ。。
書き込もうとすると、、
---------------------------
雪だるま作戦 (live22x.2ch.net)
No such file or directory
---------------------------
と、メッセージが出ますね。
スレが吸い込まれました
おっ、違うメッセージが、
これはなんで出るんでしたっけ?
前にも出たような記憶が、
bbs.cgi 側の BBN 対応は終わったです。
(qb6での作業おわり)
で、
>>528 ということは、何かファイルがないということか、、、。
subject.txt がない(でもそれはbbsdで対応したはず)。
subject.txt @dancesite のサイズが0なのはなんでだろ・・・
おじさんのスレに書けなかった@p2
そのスレに書けました。
Live2ch
>>536 同じくそのスレに書けました。
実稼動を考えた場合、いちいち復帰屋さんが復帰するのは
めんどくさいような感じしません?
おっと......
>>536 >subject.txt(or 内部テーブル) で調べているのね、
>つまり bbsd 入れ替えたら、立ち上げた瞬間に自動で repair する必要があると、、
bbsd 立ち上げ後最初に板へのアクセスがあった時点で subject.txt を内部テーブルに読み込みます.
で,それ以降は内部テーブルで dat の存在の有無を判断しています.
なので,最初の subject.txt 読み込み時点で subject.txt の内容が正しくないと
dat の存在の有無の判断も正しくできないことになってしまいますね.
>>539 subject.txt を信じるんじゃなくて、立ち上げ時には
datの下をなめなめして、subject.txtとかを作り直したほうがよさげかも。
現実というか実際に起こることは、、、
1) サーバがぶっとぶ
2) MemoryDisk だから保持していたものは全部ぶっ飛ぶ
3) dancesite@live22 フォルダ内はまっさら
4) 起動時に SETTING.TXT head.txt 等は退避場所からコピー
5) しかし subject.txt は存在しないまま。
6) ここで bbsd が立ち上がる(前後関係は私にはわからないけど)とする。
こんな感じです
dancesite@live22 が作られ、SETTING.TXT 等がコピーされてから
bbsdが立ち上がるという保障はないような気がします
とすると,起動スクリプトで "bbs.pl 板名 repair logline" を呼ぶようにしておくとか......
ちとやってみよう、、、
system("bbs.pl xxxxxxx"); でやればいいっすよね。
repair の時も引数一個増加?
>>542 > dancesite@live22 が作られ、SETTING.TXT 等がコピーされてから
> bbsdが立ち上がるという保障はないような気がします
そういうふうに作る(設定する)ことは、技術的にはできるです。
>>543 悪くないかも。
>>544 あ...... Perl スクリプトでやるなら system() じゃなくて直接 sub bbsd 呼べばいいかと.
>>545 とりあえず現状では $footnote 追加なのは通常カキコ時のみです.
お、復活しましたね。
./bbs.pl dancesite repair xxx
これで動いたようです
復帰かかった、
>>543-544 を組み込んでみた、、
次回ぶっ飛んだ時あたりにうまく言っているかどうかわかる予定。
復帰スクリプトにももう一回挑戦。。。
復帰スクリプトもうまくいったです。
新規に作成するスレッドは 0666 にしてもらえるといいかも、
いろんなスクリプトが参照するので誤動作を防ぐため
いままでと同じにする。。。
あとスレスト時は、0555 なんで書き込めなくしなきゃならないす
後、このスレの上の方にも書いてますけど
スレに書き込んでから反映されるまで
少し遅延が発生しているような気がします。
実況として使うなら、ストレスを感じるかも知れませんね。
専用ブラウザの場合は、書き込んでから再リロードしたら
反映されている感じですね。
>>554 入れ替えるです。< bbsd.c
で、bbsdで握るのは、subject.txt subback.html index.html(予定) なんでしたっけ。
>>553 bbsd では subject.txt 等は -i オプション指定値(デフォルト: 5秒)の
インターバルがありますが,dat は即時書き出しではあるんですが......
>>555 >bbsdで握るのは、subject.txt subback.html index.html(予定) なんでしたっけ。
そうですね.
bbsd、入れ替え完了。
>>554 okでーす
0666 でスレが立ちました。
大成功 !!
dat 落ちのスクリプトも改修してこよう。。。
>>556 参考にならないかも知れませんが、
自宅鯖の掲示板では。専用ブラウザの動きは以下のような感じです。
書き込み(POST)してから、スレを再読み込み(GET)するのに1秒もかかっていません。
※これは『ぜろちゃんねる』スクリプトなので参考にならないかもしれませんが。
[13/Jul/2005:18:07:20 +0900] "POST /test/bbs.cgi HTTP/1.0" 200 441 "
http://angler.ddo.jp/test/read.cgi?bbs=bbs&key=1087719706" "Hotzonu/2.0"
[13/Jul/2005:18:07:20 +0900] "GET /bbs/dat/1087719706.dat HTTP/1.0" 206 81 "-" "Hotzonu/2.0"
そのへんの設定はもう少しあとでかと、
専用ブラウザが上記のような動きをするので、
書き込んでから1秒以内に反映しないと、
専用ブラウザから見ると反映が遅く感じるって感じですかね。
>>562 ふむふむ......live22 で dat 書き出した直後に live22x で dat 読み込むと
古いままと......NFS でラグがあるのかな?といっても CacheFS じゃないから
キャッシュしてるってこともないでしょうし......
あっ つまり
「そんな話しをするでない」というわけでなく
どんどんしたほうがよいけど
「稚拙に改修するな」ってことですー
>>566 リロード1回分ぐらい、反映に時間かかるみたいです。
なんか物凄く寒くなってきた
夏はまだ来ないのか、窓閉めようっと
fdatasync() とかで物理デバイスにデータが書き出されてないと NFS で
反映されないなんてことになってたりする可能性はあるのかな......?
>>571 ありうるかも。
fsync() してみるとか。
ちょろって、元ネタはドラマのチョロ?
写真似てたかも(中野
>>571 flush の必要ありってことなのかな?
>>570 さむいですぅ
湿度が思いっきりさがったのかな、
私の場合は、先ほどと同じ状態ですね。
>>577 たまに見るとしたら、何見るの?テレビ。
>>580 深夜の教育テレビかなぁ
BSもみるなぁ 10min box でしたっけ、
そいえばIDのタネは更新したっすか
>>579 NFSってひょとすると、そういうものなのかな。
う〜む......書き込み直後に live22 / live22x 双方の dat 読み出してみて,
live22 側は更新されててlive22x 側は未更新であるなら
NFS のラグってことなんでしょうけど.
思いを馳せない雑談が急に増えてきた
>>584 実況の利用者って、あの速さでコミュニケーションを
成り立てているんですよね。。。
今の状態だと、今まで不必要だったリロードをする必要が
出てきますからねぇ。。うーん。。。
ご確認をば、
1) live22x (1,2,3) が落ちたとき
→ 落ちたサーバをリブートすればok
2) live22 が落ちたとき
→ live22 をりぶーとして live22x も全部リブートすれば ok
これであってますか?
2) の場合はもちっと別の方法を模索しますか?
>>587 私は逆だと思っていたり
実況になれば超高速回転になるので
ほとんど気にならなくなるのでは? と思っています。
実験したらわかるということで、
実験の結果を踏まえてから改修等に一票。
>>585 >>587 1秒とか2秒ぐらいすると、直るんですよね。
私も、IEで経験しました。
>>588 1) そのように実装したいなと。
2) 少なくともそのように実装したくて、
できれば live22x はリブートしなくてもOKにしたいなと。
確かに実況慣れしている利用者さん達に実験してもらうのも
良いかもしれませんけどね。
じゃあバレーの実況でも
どっか、実況板が欲しいと望んでいる利用者さんを
呼び込んでみるとか。。
私は実況慣れしてない人なんでねぇ。
ガンガン実況してくれる人たちですね。。
fsync() があんまり意味ないようなら外しますね.
データの integrity が厳密に要求される用途でもないのにそれ入れても
ディスク I/O が増えるだけなんで.
といっても /md ならあんまり関係ないかも知れませんが.
質問
書き込みログですが、
所定の場所に出来ているようですが
既にうまく動いているということでいいのかな?
実際の場所は秘匿したいです。
>>599 ログの吐き方はああいう感じでいいんでしょうか?
場所についてはビルド時に -D とかで指定できるようにするといいのかな......?
>>600 ログはたぶん、1書き込みごとにファイルのパス名を、
bbs.cgiからbbsdに指定できるといいと思うのですよ。
このへんはあんまり、うまくいえないですが。
>>598 これからいれかえるです。
いれかえ完了。
make backup
make fetch
make
sudo make install
ってかんじで。
>>601 とすると......また bbsd に渡すパラメータ変更かな.
$logline のところを "$logfilename:$logline" にするってことでいいですかね?
>>604 別に渡したほうがいいと思う
分解する処理がもったいないし、
>>605 いや,どちらにしろ sub bbsd ではデリミタで連結して bbsd 側で分離してますんで.
誤動作がないのであればokです
$logline は全ての文字が来ると思われ、
>>607 $logfilename に : が入ってなければ誤作動はないと思います.
ちなみに各パラメータは '\x8' をデリミタとして連結されます.
はいー
index.html が整ったら(仮でいいけど)いよいよ実践で実験ですね、
$logfilename ですが,絶対パスですか,それとも DocumentRoot からの相対パスになりますか?
bbs.cgi 内部では public_html/test/ からの相対pathになっています
public_html からでもいいけど、絶対パスはいやん。
テストは、どの板でやればいいのかな? @live22
いきなり限界に挑戦するなら、livecxかな。
試運転という事ならlivetbsとか。livebaseとか。
電車男も livecx ?
移転祭りの気配?
ムネがドキドキ
liveanbも悪くないけど、平日は大してぐぐっと来ないんですよね。
>>615 うん
そうそう
>>615 そうですね。。。っていきなり限界に挑戦コースですかw
限界に挑戦してほしい
でも、大丈夫かな?
もし何かあったら、あっちこっちで祭になるっすよ?
本当に大丈夫ですか?
FOX ★でやって
あとは飲みに行けば大丈夫だったり、、
うわ。。。
rootさんが泣きますよ?きっと。
おいおい....
いっそ電車男板を作って電車男関係を全部集めるとか(ぉ
土器がムネムネ
>>624 それなら、いざとなったら現livecx逃げれますね。
電車男記念臨時実況板が良いんじゃないかな?
はいはーい
板移転前のならしで、特定の時間帯とか番組をターゲットにして
そんときだけ該当の板止めるとか。
>>625 入れます。
で、その後しばらくオフライン。
>>621 ふーん。
で、
・bbsdのスレッド数いくつがいいのかしらとか、
・仮にNFSでやるとして、nfsdやnfsiodの数はいくつがいいのかしらとか、
そのへんが気になっていたり。
>$logline のところを "$logfilename:$logline" にするってことでいいですかね?
対応しましたー bbs.cgi@live22x
で、dancesite(フォルダ名が既存と同じだからいろいろ対応できない)じゃなくて、
myanmarやyangonみたいなのを、1枚作ってやるのが先かなと。
bbsd 更新しました。
しばらく(たぶん数時間ぐらい)、オフラインになります。
とりあえず、私は『電車男記念臨時実況板』に一票。
と、書いておきます。かなり高速回転するでしょうから。
実験板が増えるのか
>>630-631 乙です.
>・bbsdのスレッド数いくつがいいのかしらとか、
>・仮にNFSでやるとして、nfsdやnfsiodの数はいくつがいいのかしらとか、
busy なプロセス/スレッド数と CPU 数との兼ね合いってところなんでしょうけど,
まぁ実際やりながら調整ですかね......
>>634 えっと、専用ブラウザとかc.2ch.netとか、
既存の板とフォルダ名が同じだと、テストできにくかったりするわけですよ。
だから、例えばhanoiでもなんでもいいから、
板名を変えたのを、作るほうがいいと思うわけです。
なんでそんなにべとなむまわり
そしてオフライン
で、今は板作ったら、live22xのほうで
シンボリックリンクを一発張りなおす必要があるですね。
今は、手でやってます。
あなる
んでは、いったんしつれい。
>>636-637 BBS MENUに反映して、壷で連絡すれば
ある程度は移動すると思うけど。考えが甘いかな?
資源はあるだけ使われると思ってるんで。
是非live22は"Train Man TV Drama"に投入して欲しいと願う今日この頃
>>645 今作っても最悪BBSMENUは朝7時
対電車を想定するなら早速テストを兼ねてlivecxというのはわかる。
トリビアで回るし。
んじゃ trainman つくるっす @live22
>>649 いずれにしても 明日には間に合わないのでは?
>>651 キタ―――(゚∀゚)―――!!!
カテゴリは実況?
やっぱ やめたー
>>653 jupiter とかを引っ越してしまおう。
656 :
名無し草:2005/07/13(水) 20:43:44 BE:112846087-#
マトリックスのスレが立つ予感
index.html が出来上がり
jupiter@live22 の準備が出来たら
jupiter 移転するです。
そして c.2ch.net とかの検証。。。
trainmanpower
あ,そうそう,index.html ですが,インクルードする広告ファイルとか教えておいて下さい.