l2tpでmaillogが止まっていた

軽く原因は追ってみたが不明だった。ログが止まっていたのは24日から。
最近気になるような変更はspamassasinの導入。しかしこれは21日。

この記事に気がついた時にこまめにログのチェックを行うつもり。

再起動でログが流れ始めると思っていたが流れなかったので追跡調査を行った。
syslogdが止まっていたのが原因だった。

syslogdが止まった原因は不明。
Dec 23 16:08:34 elemas syslogd: exiting on signal 15

l2tp.orgのホームディレクトリ利用率

%sudo du -h -d 1
6.0G    ./naname
52G    ./yousan
18K    ./ki
674M    ./sawa
8.3G    ./kawahigashi
17G    ./nentan
1.2G    ./malchine
2.0G    ./hiroko
20K    ./lupin
9.9G    ./tetu
20K    ./nicovide
20K    ./snoop
22K    ./naoel
10G    ./yahagi
20K    ./civil
5.3G    ./lalalala1234jp
15G    ./aishia
18K    ./marx
4.8G    ./alt
5.9G    ./zemuri
396K    ./soratovi
20M    ./esp
18K    ./gokijet
18K    ./effort
18K    ./yoshiki
12G    ./suisei
3.9G    ./kezy
596M    ./yubird
85M    ./nbshun
2.0G    ./ooe
86M    ./hoge
60M    ./unotti
76G    ./micchan
18K    ./cali
15M    ./l2tp
18K    ./momi
233G    .

memcachedに格納されているキーの長さを取得する方法

memcachedに格納されているキーの長さ一覧というか、キーの長さの平均値をとりたくなったのでとってみた。
まずは全部をダンプさせる。

%memcached-tool memcachedserv.xxxxx.xxx dump > ~/tmp/memcached.dump

場合によっては結構時間がかかる。

適当にmoreとかで中身を確認して、キーの形式に着目してやる。今回自分のケースだと

$pattern = 'add s:[0-9]+:"11111001(.+)"';

この正規表現であててやった。

<?php
$mi = new Memcache();
$mi->connect('xxxx.l2tp.org');
$ret = $mi->getExtendedStats();
var_dump($ret);
$pattern = 'add s:[0-9]+:"11111001(.+)"';
$lines = file('/usr/home/xxxx/tmp/memcached.dump');
foreach($lines as $line){
if(eregi($pattern, $line, $regs)){
if(mb_strlen($regs[1], 'UTF-8') > 19){
var_dump($regs[1]);
}
$lensum += mb_strlen($regs[1], 'UTF-8');
$lc++;
}
}
var_dump($lensum);
var_dump($lc);
var_dump($lensum/$lc);
?>

FreeBSD 8.0 Release

今更ですがFreeBSDの8.0がリリースされたようです。

  • Xen Dom-U, VirtualBox guest and host, hierarchical jails.Experimental MIPS architecture support.
  • NFSv3 GSSAPI support, experimental NFSv4 client and server.
  • 802.11s D3.03 wireless mesh networking and Virtual Access Point support.
  • ZFS is no longer in experimental status.
  • Ground-up rewrite of USB, including USB target support.
  • Continued SMP scalability improvements in many areas, especially VFS.
  • Revised network link layer subsystem.

なおイメージファイルをtorrentで落とすには

http://torrents.freebsd.org:8080/

ここのようです。

spamassasinをonにするには

spamassasinをonにするには、.mailfilterに以下の文を加えてメールフォルダを作る

xfilter "/usr/local/bin/spamc"

if (/^X-Spam-Flag: *YES/)
{
to "$MAILDIR/.spam/"
}

なおスパムアサシンのインストールは

%sudo portinstall p5-Mail-SpamAssassin

%sudo emacs /etc/rc.conf
spamd_enable="YES"
%sudo /usr/local/etc/rc.d/sa-spamd start

となる。スパムアサシンは背後でspamdが動いており、スパムかどうかの判断をしてもらう仕組みらしい。

memcachedではキーの長さに制限がある

memcachedではキーの長さに制限がある。その長さは250文字までで、それ以上は無視される。

今回テストを行ったのは

libmemcache-1.4.0.rc2 The C library for accessing a memcache cluster
memcached-1.2.6_1   High-performance distributed memory object cache system
pecl-memcache-3.0.4 Memcached extension

var_dump($mi->get($hoge));
$a249 = str_pad('a', 249);
$a250 = str_pad('a', 250);
$a251 = str_pad('a', 251);
$a252 = str_pad('a', 252);
$mi->set($a249, 'a');
$mi->set($a250, 'b');
$mi->set($a251, 'c');
$mi->set($a252, 'd');
var_dump($mi->get($a249));
var_dump($mi->get($a250));
var_dump($mi->get($a251));
var_dump($mi->get($a252));
%php memcache.php
array(0) {
}
string(1) "a"
string(1) "d"
string(1) "d"
string(1) "d"