2012-01-01から1年間の記事一覧

sshfsをfstabでマウントする

こんな感じにマウントできるって教えてもらいました。 sshfs#root@10.232.139.234:/mnt/files /var/www/remote_files fuse allow_other,IdentityFile=/path/to/my_ssh_keyfile,ServerAliveInterval=60 0 0( http://www.saltycrane.com/blog/2010/04/notes-ss…

システムにlibaioをインストールせずにMySQL::Sandboxでmysql5.5を使う

先にlibaioを置いておく。(debian) mkdir libaio-dev cd libaio-dev apt-get source libaio-dev tar zxf libaio_0.3.107.orig.tar.gz gzip -d libaio_0.3.107-7.diff.gz cd libaio-0.3.107 patch -p1 < ../libaio_0.3.107-7.diff make prefix=$HOME/opt/liba…

compact()を使って変数名付きのデバッグ出力を手軽に

php

PHPでデバッグ出力をいくつも表示するとき、どの値がどの変数のものなのかわかるように、こんなふうに書く。(よね?) var_export(array("long_var_name1" => $long_var_name1, ...)); ここでcompact()を使うと、 var_export(compact("long_var_name1", ...…

ssh先のホスト名をscreenのウィンドウ名にする設定

.ssh/configで設定できる。 Host hoge PermitLocalCommand yes LocalCommand tty -s && [ x$TERM = "xscreen" ] && echo -ne "\ek"%n"\e\\" >`tty`これだけではログアウトしたときウィンドウ名が元に戻らないので、.bashrcなどにこの設定を追加する。 if [ x…

fluentdのin_tailプラグインでjsonを読む

in_tailプラグインでformatにjsonを指定すると、jsonをそのまま(文字列にせずに)読める。このように設定しておいて <source> type tail path /tmp/error.log pos_file /tmp/error.log.pos tag debug.error format json </source> <match debug.**> type stdout </match>ログファイルにjsonを書き込ん…

fluent-agent-liteでタグにホスト名を使う

/etc/fluent-agent-lite.conf の LOGS=$(cat <<"EOF" ... EOF )を LOGS=$(cat <

fluentdでunix domain socketを使う

fluentdでunix domain socketを使うには、設定ファイルに下記を追加する。 <source> type unix </source>UNIXドメインソケットのパスは環境変数 FLUENT_SOCKET で指定する。 指定しなければ /var/run/fluent/fluent.sock に作られる。 env FLUENT_SOCKET=sock/fluent.sock flu…

Luaをタイムアウト付きで実行する

環境 Lua 5.1.4 LuaJIT 2.0.0-beta9 動機 MySQLのUDFの中でLuaを実行したい。 このとき、無限ループするようなコードを実行すると、killクエリを投げても止まらないスレッドになってしまい、mysqldをkill -9するしかなくなる。 そのため、無限ループしてても…

LuaJITのメモリアロケータを入れ替える(気をつけないとメモリリークする)

環境 Lua 5.1.4 LuaJIT 2.0.0-beta9 動機 MySQLのUDFの中でLuaを実行したい。 問題は2つ。 1コネクションにつきLuaインスタンスを1つ作るので、max_connectionsで設定した数だけLuaインスタンスが同時に立ち上がる可能性がある。 1つメモリを食いつぶすクエ…