【野鳥の会】 BBS.2ch.net 全発言統計の巻 part4
■ このスレッドは過去ログ倉庫に格納されています
2ちゃんねるの全発言の統計を取ろうに挑戦
bbs.cgi に一個DNS問い合わせの処理を追加
発言バイト数.スレッドkey.板.サーバ.CGI名.BBS.2ch.net をlook up
この方法でやるとかなり低コストで出来る予感。
すずめ (板別発言数統計) http://stats.2ch.net/suzume.cgi
からす (サーバー別発言数統計) http://stats.2ch.net/karasu.cgi
からす2 (鯖グループ別発言数統計) http://stats.2ch.net/karasu2.cgi
すずめ、からすはURLをcgi->cgi?yesterdayとすることで前日のデータを閲覧できます。
とんび (1時間単位板別発言数統計) http://stats.2ch.net/tonbi.cgi
・とんびのログっぽいの http://stats.2ch.net/kawasemi-h/
・とんびのログ分刻み版 http://stats.2ch.net/kawasemi-m/
・とんび2 (1時間単位板別バイト数統計) http://stats.2ch.net/tonbi2.cgi
つばめ (分単位多数発言スレッド統計) http://stats.2ch.net/tubame.cgi
つばめ (ex8専用) http://stats.2ch.net/tubame2.cgi
2ch一日全発言統計一覧
http://stats.2ch.net/kawasemi-d/2ch.txt
前スレまでの規制のまとめ
とかげの尻尾
極短時間に多くのスレを立てたり、レスをつけたりすると
●、★の有無に関わらず2時間の間、qb5以外の読み書きが規制されます。
読もうとすると http://qb6.2ch.net/403/ に飛ばされます。
記者、スレ立て代行さんは要注意。
現在のこの件での規制対象は http://qb6.2ch.net/403/c403.cgi で確認できます。
●を併用してもBBQチェック済みの串を使って書けないようになりました。
p2に関する質問や議論はソフトウェア板のp2スレでどうぞ。
現状もそちらでまとめられています。
p2+●に関する規制議論はこちらです。
http://qb5.2ch.net/test/read.cgi/sec2chd/1097492197/
過去スレ
part1 http://qb5.2ch.net/test/read.cgi/operate/1083526243/
part2 http://qb5.2ch.net/test/read.cgi/operate/1097666632/
part3 http://qb5.2ch.net/test/read.cgi/operate/1097821787/ 10/31(日) 1,859,891
久しぶりにバッケンレコード更新ですねー。。9/26以来かな?
kawasemi-m見てると、22:59〜23:15くらいの
推定30000レス分くらいは記録されてないっぽ、、 http://stats.2ch.net/kawasemi-d/2ch.txt
200410301719273
20041101125951
なんかこわれちったのか? あらっ、確かにkawasemi-dにうまく記録されてないっすね。 2・3日様子見て、手動で書き換えるか、
それまでは ここに結果だけ記録と、 http://stats.2ch.net/kawasemi-d/2ch.txt
うーむちゃんと動いていない
>>705 は 10/31 の数字
11/1 はいくつだったか不明
11/2 = 1,591,995 あっ
もしかして daylight saving が終ったから? 11/1 を強引に計算してみた
1,587,366 C で こう書いているんだが
time(&t_now);
t_now += 9*60*60;
tm_now = gmtime(&t_now);
tm_now->tm_year += 1900;
tm_now->tm_mon ++;
なにをすればいいんだろぅ 素人が適当に見て思うんですが、2000じゃなくて
1900なんですか。 time()じゃなくて、gettimeofday()とかを使えばいいんではないかしら。
>>715
tm_yearは1900年からの年なので、あってるですね。 あ、そっか。tzは使ってないし。すまんです。
結局、何が問題なんだっけか。 >>714 は結局、
今の時間をとってくる;
それを9時間分すすめる;
struct tmに結果を入れる;
1900足して2004とかにする;
ひとつ多くして1月から数えることにする;
ってことすよね。
これ自身は、TZやローカルな時間帯に関係なく、それなりにうごく気がしますが。 あっ もしかして daily 処理呼ばれる時間が変わったとか、 うーむそっか。
PDTの時とPSTの時で呼ぶ時間変わらないようにcronで書かないといかんと。
設定できると思うので、やってみます。 今は一律8時1分になってるですね。< kawasemi-d
さて、PSTの時はこれを1時間、、、どっちにぶらすんだっけ。
ねむくてぼけてるかな。 1時間早く呼べばいいのかな。< 0:01JSTにしたい 米国西海岸が夏時間(PDT)になる日と冬時間(PST)になる日って、それぞれいつでしたっけ。 >>726
どもです。
SFを含むアメリカ合州国のほとんどの州では、4月の第一日曜から10月の最後の日曜までみたいですね。
(zdump -v /usr/share/zoneinfo/America/Los_Angeles とかしてもそうなってる)
てなわけで、crontabを書き換えてみるか。 うーむ、crontabだが、、、。
1〜3月、11月〜12月 冬時間
5月〜9月 夏時間
で、
4月7日〜4月30日 夏時間
10月1日〜10月24日 夏時間
なわけだけど、
4月1日〜4月7日と、10月25日〜31日は、crontabをどう書けばいいんだべ。 >>729
4月1日〜4月7日 => 4月1日〜4月6日 んーー。
とりあえず4月と10月も夏時間(8:01に起動)にしておこうっと。 夏時間の開始と終了:
2004年 4月4日〜10月31日
2005年 4月3日〜10月30日
2006年 4月2日〜10月29日
2007年 4月1日〜10月28日
2008年 4月6日〜10月26日
米国夏時間採用期間:
4月第一日曜日〜10月最終日曜日 4月1日 日曜なら夏時間、そうでなければ冬時間
4月2日 日、月なら夏時間、そうでなければ冬時間
4月3日 日、月、火なら夏時間、、、
4月4日 日、月、火、水なら(りゃ。
4月5日 日、月、火、水、木なら(りゃ。
4月6日 日、月、火、水、木、金なら(りゃ。
4月7日 夏時間
10月25日 日なら冬時間、そうでなければ夏時間
10月26日 日、月なら冬時間、そうでなければ夏時間
10月27日 日、月、火なら(りゃ。
10月28日 日、月、火、水なら(りゃ。
10月29日 日、月、火、水、木なら(りゃ。
10月30日 日、月、火、水、木、金なら(りゃ。
10月31日 冬時間 ほんとかなぁ。
#minute hour mday month wday command
# Jan-Mar
1 7 * 1-3 * command
# Apr
1 8 1 4 0 command
1 7 1 4 1-6 command
1 8 2 4 0-1 command
1 7 2 4 2-6 command
1 8 3 4 0-2 command
1 7 3 4 3-6 command
1 8 4 4 0-3 command
1 7 4 4 4-6 command
1 8 5 4 0-4 command
1 7 5 4 5-6 command
1 8 6 4 0-5 command
1 7 6 4 6 command
1 8 7-30 4 * command
# May-Sep
1 8 * 5-9 * command
# Oct
1 8 1-24 10 * command
1 7 25 10 0 command
1 8 25 10 1-6 command
1 7 26 10 0-1 command
1 8 26 10 2-6 command
1 7 27 10 0-2 command
1 8 27 10 3-6 command
1 7 28 10 0-3 command
1 8 28 10 4-6 command
1 7 29 10 0-4 command
1 8 29 10 5-6 command
1 7 30 10 0-5 command
1 8 25 10 6 command
1 7 31 10 0 command
# Nov-Dec
1 7 * 11-12 * command 1箇所間違ってた。
#minute hour mday month wday command
# Jan-Mar
1 7 * 1-3 * command
# Apr
1 8 1 4 0 command
1 7 1 4 1-6 command
1 8 2 4 0-1 command
1 7 2 4 2-6 command
1 8 3 4 0-2 command
1 7 3 4 3-6 command
1 8 4 4 0-3 command
1 7 4 4 4-6 command
1 8 5 4 0-4 command
1 7 5 4 5-6 command
1 8 6 4 0-5 command
1 7 6 4 6 command
1 8 7-30 4 * command
# May-Sep
1 8 * 5-9 * command
# Oct
1 8 1-24 10 * command
1 7 25 10 0 command
1 8 25 10 1-6 command
1 7 26 10 0-1 command
1 8 26 10 2-6 command
1 7 27 10 0-2 command
1 8 27 10 3-6 command
1 7 28 10 0-3 command
1 8 28 10 4-6 command
1 7 29 10 0-4 command
1 8 29 10 5-6 command
1 7 30 10 0-5 command
1 8 31 10 6 command
1 7 31 10 0 command
# Nov-Dec
1 7 * 11-12 * command あ、まだ違う。
#minute hour mday month wday command
# Jan-Mar
1 7 * 1-3 * command
# Apr
1 8 1 4 0 command
1 7 1 4 1-6 command
1 8 2 4 0-1 command
1 7 2 4 2-6 command
1 8 3 4 0-2 command
1 7 3 4 3-6 command
1 8 4 4 0-3 command
1 7 4 4 4-6 command
1 8 5 4 0-4 command
1 7 5 4 5-6 command
1 8 6 4 0-5 command
1 7 6 4 6 command
1 8 7-30 4 * command
# May-Sep
1 8 * 5-9 * command
# Oct
1 8 1-24 10 * command
1 7 25 10 0 command
1 8 25 10 1-6 command
1 7 26 10 0-1 command
1 8 26 10 2-6 command
1 7 27 10 0-2 command
1 8 27 10 3-6 command
1 7 28 10 0-3 command
1 8 28 10 4-6 command
1 7 29 10 0-4 command
1 8 29 10 5-6 command
1 7 30 10 0-5 command
1 8 30 10 6 command
1 7 31 10 0 command
# Nov-Dec
1 7 * 11-12 * command で、>>734 のはずだから、>>737 にしてみた。< 野鳥の会のdaily処理
ほんとかしら。 |・ω・`)つ 旦~旦~旦~旦~ おつかれさまですー
>>711
11/1はおいらの記録(ソース保存)によると1,587,366 みたいですわ。 西海岸の時刻配信サーバ(ttp://jjy.nict.go.jp/ のあちら版)
みたいなのがあれば、そこからぶっこ抜いて来るとか。。。 >>740
National Institute of Standards and Technology
http://www.nist.gov/
The official U.S. time - clock
http://nist.time.gov/timezone.cgi?Pacific/d/-8/java >>741 補足:
The official U.S. time
http://www.time.gov/ getenv(3)
#include <stdlib.h>
char *
getenv(const char *name);
int
setenv(const char *name, const char *value, int overwrite);
int
putenv(const char *string);
void
unsetenv(const char *name);
数週間も、バーボンハウスに飛ばされ続けるんですが。。
xreaからです。(p2じゃないですよ) >>743
んと、プログラムのつくりじゃなくて、
cronで起動する時間を毎日0:01JSTにしたいっていう話ですね。
で、サーバはPDTとかPSTで動いていると。 >>746
あ、、、(苦笑)
ではでは、crontabに、
TZ=JST-9
を書き足すと良いのかな? 起動するプログラムにPDTとPSTの判定を入れた方が楽なような
つーか、JSTに変換して、合ってるかどうかを判定すればいいし
んで、crontabは面倒だから1日2回起動w そうそう、バーボンの設定変更は、
変更できる人が規制議論の報告を見ていきなり変更!ってことはないですよね。
しかし、鯖を守る手段として意味合いが強いようなので、
利用者側が話し合ってきつく/ゆるくしてもらうというのは何か違う気がするし…
つまるところ、どういう手順で設定変更されるんですかね。 本当の原因
.htaccessが壊れたため
http://yy12.kakiko.com/test/read.cgi/emg2ch/1099578258/
>437 :マァヴ ★ :04/11/04 23:51:37 ID:???
>直接原因は判明したっぽいです(^_^;)
>順次回復していくと思われ・・・・
>ただ、なんでこうなっちゃったかはまだ不明
>481 :マァヴ ★ :04/11/04 23:53:24 ID:???
>>468
>.htaccessが壊れた(^_^;)らしい
>>665>>665>>665 さて、原因究明&対策はたぶんここでやることになるんだろうなと。 >>755
とりあえず緊急対応したので、同じ障害は発生しないはず。
詳細は、FOX ★さんのカキコを待ちましょう。 _ ∩
( ゚∀゚)彡 FOX★!FOX★!
⊂彡 つまりwebからdenyリスト作る仕掛けが
バグって誰もアクセスできないリスト作って
自動配布したせいで
みんなエラー→リトライで過負荷
が今回の顛末?
root▲が「今回のは俺のせいじゃない」
っつーてるし
>>764
青春のいいところは、やりなおしが効くってことなんではないかと。
というわけでしくみそのものは悪くないわけで、またぼちぼちと。 >>767
はいはい
BBS 側は再稼動させておいていただけると、、、
おっ いやっ しないでもいいかな?
このまま 遠い世界へと。 >>769
遠い世界はいやんなので、再稼動します。
まぁ、何かあったらまたいつもどおり、一緒にイベントを楽しむということで。 その先を止めてあるので
多分なにも起きないと思うです。
その先のプログラムを鍛錬すれば
今回のようなことは起きないはずでーす 再稼動しました。
しばらくようすをみるとゆうことで。 甲) 2ちゃんねる各サーバ(60台くらい?)
↓a) 投稿ごとに BBS.2ch.net に通知
乙)BBS.2ch.net ここでいろいろ集計
↓b) おっ 攻撃だ! qb6 に通知
丙)qb6.2ch.net 攻撃者リストメンテ部
↓c) deny リスト作ったわん。全サーバに配信、配信。
丁) 2ちゃんねる各サーバ(59台くらい?) deny from で撃退
a) か b) で何か混入したのか
乙) が誤動作して b) にゴミ入れたのか、
どっちかわからないけど。 丙) の吐き出した大根は腐っていた。
root ★さんは、 b) をとめて、丁を手動で配って直した。
その後 私が c) をとめたんで、b) を動かしてくださいー
とお願いした。 お互いに愛をはぐくんだ >>773-774
>>759みたいな話もあるので、ホスト名になにかしらマズイ文字列を
仕込んでおいてわざとバーボンハウスに入る→ノーチェックでdeny
リスト行き→今年の大根は豊作だねぇ〜 ホスト名は表示CGIがDNS逆引きで拾ってるだけじゃないの? root ★さんに質問ですー
BBS.2ch.net の DNS が look up されたら
トカゲにデータが渡されるという仕組みですが
どうやってやるんですかー?
立ち上げっぱなしで、どんどん stdin にぶち込んで
stdout はあるファイルへ出力というようにトカゲを起動する方法でーす。 一手目としては、丙) でゴミは極力排除し
c) に変なのが流れないようにしてみた(まだ cは停止中です)
http://qb6.2ch.net/_403/c403.cg
ここを観察中。。。 >>780
ん、今のトカゲって、そうなってませんでしたっけ。
というか、今のトカゲの起動方法から何か変えたい、っていうことなのかしら。 >>785
なってます なってます
私もお勉強したいなと
教えてくれよー(簡単に言えばクレクレ君です) あぁ、どうやって実現しているか、ってことですか。>>787
そんなに面倒なことはしてないです。別途ここに簡単にまとめを。 というわけで、かんたんに。
query を受け、その結果をDNSサーバ(tinydns)が、stdoutに吐きます。
通常だとtinydnsの場合、daemontools経由でmultilogというプログラムにパイプされて、
システムログとしてとられてゆくわけですが、
ここで簡単なプログラムを間にはさんで、トカゲプログラムにも出力を横流しするようにしています。
トカゲプログラムをそのままの形で起動するとユーザの権限が変わってしまうので、
setuidgidを使って、トカゲのユーザID/グループIDで起動するように設定してあります。
より具体的には、daemontoolsのlog/runを、
#!/bin/sh
exec setuidgid dnslog multilog t ./main
とかから、
exec 横取りプログラム
とかに変更して、
横取りプログラムの子供としてトカゲプログラム(トカゲユーザの権限)と
従来のmultilog(ログをとるユーザの権限)を呼ぶようにしていると。 もうちょっとくわしくいうと、実際には、
#!/bin/sh
exec 横取りプログラム setuidgid dnslog multilog t ./main
のように、引数を伴っています。
で、横取りプログラムは自分の引数をそのままの形で、自分の子供として起動します。
こうやっておくと、multilog側の設定を後で変えるときに便利です。
あとは、横取りプログラム側で今のBBSだと「トカゲ」と「投稿数統計」の2つのプログラムを呼んでいます。
これは、BBX/Rock54をやった時の、
未承諾広告※さんのアイディアとプログラムをほぼそのままいただいているものです。 http://qb6.2ch.net/_403/c403.cgi
今のところゴミの混入はないなぁ、
混入が無いと言うよりも、混入してもすぐつまみ出している
というのが正しいんだが、 >>789>>791
ども参考になります。
もうちょっと頑張ってみます。 で、そのままだと子供側は入力待ちで呼ばれっぱなしな状態になるので、
プログラムを更新した場合には、手でkillしてやる必要があるですね。
例の、なんちゃらreset.sh ってのがそれです。
>>794
なかのひとがんがれ。 まったく関係ないけど、右だけ母乳?が出るのに気付きました。22歳男 ■ このスレッドは過去ログ倉庫に格納されています