Endless…。

この毎日終電か、自宅帰っても2~3時ごろの寝るまで仕事の生活は今週、来週で一段落するはずなのだが、今やっているのが終わっても、また別の案件が来て、結局この生活は延々と続く気がする…。一人で処理できる範囲を大幅に超えてますがな…。

とりあえず今の希望はまともにまともに休暇と睡眠を取りたい。睡眠中も夢でうなされる生活はヤダ…。

DNSBLだろうか。

MySQLからDBをSQLiteに換えてみたが、Instikiは相変わらず初回のロードが終わらず、DNSBLの処理中にタイムアウトしてしまう。mod_fcgidのタイムアウト時間を長くしても変わらない。もうちょっと調べてみるか。

OpenBlockS266では厳しいな。

Rails&MySQLをOBS266 128MBモデルで動かして、一日放っておいたが、Swap領域の使用率が高くなっているので、こりゃあかんな。

$ free
             total       used       free     shared    buffers     cached
Mem:        126964     124616       2348          0      42532      21136
-/+ buffers/cache:      60948      66016
Swap:       273064      30212     242852

分散させるか、SQLiteか。まずはSQLiteを試してみるか。

ログイン不可ユーザに、sudoでコマンド実行時に環境変数を渡す方法。

通常だと、下記のように実行する。

$ sudo -u hoge cmd

なので、普通のコマンド実行時と同じように、

$ sudo -u hoge VAR=hoge cmd

なんてやっても、sudoに最初に渡されるVARがコマンドと見なされてしまってエラーになる。下記の様に、shを使ってもダメ。

$ sudo -u hoge sh -c "VAR=hoge cmd"

exportとかすると、一見うまく行くように見える。

$ export VAR=hoge
$ sudo -u hoge cmd

だが、実際にはちゃんと渡されていない。じゃあ、どうすっかなぁ、と思っていたら意外な解決方法があった。

$ sudo -u hoge cmd VAR=hoge

環境変数って、かならずコマンド実行前に設定する必要があるのかと思っていたが、上記のようにすれば問題ないのね。へぇ。

MySQLメモ。

Debianで、MySQLを使う場合、管理者ユーザがdebian-sys-maintなので、先にDB、ユーザを作るにはdebian-sys-maintで作っておく必要があると。パスワードは、/etc/mysql/debian.cnfにある。テキストファイルに平文で入っているのはいかがなものかと思うんだけどな。

$ mysql -u debian-sys-maint -p

ユーザ作成はcreate userかと思ったら、grant文で作るのな。

mysql> grant all privileges on hogedb.* to 'hogeuser'@'localhost' identified by 'hogeuserpassword';

DB作成はcreate database文と。上記にあわせると、こんな感じ。

mysql> create database hogedb;

間違えて権限をつけたユーザとDBを削除しても同じ名前で再度作ると、またアクセスできてしまうので、ちゃんとrevoke文で権限を剥奪してやらんとアカンのはちょい面倒。

mysql> revoke all on hogedb.* from hogeuser;