2008-12-01から1ヶ月間の記事一覧

DVD のマウント,アンマウント

マウント # mount /dev/dvd /media/cdrom ※空の DVD はマウントできない.何か書き込まれた後にマウントできる.アンマウント # umount /dev/dvd

デフォルトのストレージエンジンを InnoDB にする

設定ファイルの "[mysqld]" セクションに "default-storage-engine=INNODB" を設定する./etc/my.cnf を参照するように設定している場合,以下のように追加するだけ. [ /etc/my.cnf ] : default-storage-engine=INNODB :

コマンドいろいろ

cvs

update "cvs update" 実行時に表示される記号の内容 記号 内容 M ローカルで更新したファイル ? 新規作成したファイル(add する必要があるもの) A add したファイル(commit はしていない) R remove したファイル(commit はしていない) C コンフリクト…

InnoDB を有効にする configure オプション

※バージョン 5.1.30 での話.検索すると,"--with-innodb" を付ければ出来るように書いてあったので,その通りに実行してみたのだが,"unrecognized options" と言われてしまう...なので, # ./configure --help | less して,"inno" で検索すると,"--wi…

MySQL が "Manager of pid-file quit without updating file." と表示して起動しなくなった場合の対応

実行環境を書いてしまうと特定されてしまうので端折るから「?」な部分もあるけど,いろいろ調べたのでメモメモ.まず,上記のエラーメッセージを吐いて起動しなくなる原因は,主に4つあるとのこと. 権限の設定が不適切 MySQL の pid ファイルが残っている…

configure オプションの表示

当たり前のことなんだろうけど,知らなかったのでメモメモ. $ ./configure --help

"#" で始まっていない行の行頭に "###" を挿入するワンライナー

sed -e 's/^\([^#].*\)/###\1/g' FILE

第一引数が a または A なら○○

if [ "a" = $1 ] || [ "A" = $1 ] then echo "a or A" fi

umount を実行したら "device is busy" と怒られたときの対応

それでも umount したいので,device busy の際のumount によると # umount -l PATH_TO_DEVICE とすればいいらしい.なるほどなるほど.

入力補完機能

vi

vi よりも emacs を使うのだけれども,環境によっては vi もたまに使う.たまに使う程度だから調べもしなかったんだけど,vi にも入力補完機能があったのね.何か入力した後に Ctrl-P, Ctrl-N で入力補完してくれる.こりゃ便利.

親スクリプトで定義した関数を子スクリプトで実行する方法

親スクリプトで "export -f FUNCTION_NAME" する. 例: 親スクリプト: #!/bin/sh hoge () { echo "function=hoge: "$1 } echo "parent: 1" export -f hoge sh child.sh echo "parent: 5" 子スクリプト: #!/bin/sh echo "child: 2" hoge "3" echo "child: …

dialog コマンド

$ dialog --infobox "hoge?\nfoo?\nvar?" 5 60 とすると,↓のように出力される. これを使って,確認ダイアログを表示して yes/no で処理を切り分けるにはこんな風にする. if dialog --stdout --yesno "hoge?" 6 60 > /dev/null then echo "yes." else echo…

"not a valid identifier" とエラーになった原因

シェルスクリプトの一部を関数にして動作確認を行ったところ,次のように怒られてしまった. $ sh hoge.sh hoge.sh: line xx: `func-a`: not a valid identifier 原因は関数名に "-" を使っていたため.なるほどなるほど.

バイナリログのマージ

何かしらの事情でバイナリログが作成されるディレクトリを変更したときに,そのログをマージする手順について検証したのでまとめ. 準備 通常のバイナリログ設定は以下の通り. $ less /etc/my.cnf --- : # binary logging - not required for slaves, but …

変数定義ファイルを使う

シェルスクリプトで変数定義ファイルを使ったことがなかったのでメモ. 以下のような内容で変数定義ファイルを作成すると(ファイル名は xxx とする), #$!/bin/sh HOGE=hoge PIYO=piyo シェルスクリプトで次のようにすると,変数定義ファイルに書かれた変…

バイナリログを有効にした設定ファイルなのに,バイナリログが作成されずにハマった原因

MySQL を自動起動させるのではなく,あるシェルスクリプトが MySQL を起動させるんだけど,/etc/my.cnf がない状態で MySQL を起動後に /etc/my.cnf を作るスクリプトになっていた. なので,原因は,MySQL を起動するタイミングと /etc/my.cnf を作成するタ…

設定ファイルの置き場所

いくつかのサイトを調べてみたところ,共通して /etc/my.cnf を最初に参照するとあったので,とりあえずそこにしておく. ※もちろん変更すれば他でも良いのだが,「デフォルトでは」という意味で. ※参考:さくらのレンタルサーバ

ファイルが存在するなら○○

以下は,「ファイルが存在するなら削除」. [ -e /tmp/hoge ] && rm /tmp/hoge

リカバリ

オンラインバックアップ+バイナリログからリカバリする手順. 1.バックアップデータをリストア コマンド MYSQLDUMP で吸い出したデータを流し込む $ gzip -dc /tmp/backup.dump.gz | mysql ※この作業がバイナリログに書き込まれてしまうため,バイナリロ…

バイナリログ

MySQL を --log-bin オプションを付けて実行することでバイナリログが取れる(InnoDB の場合).設定ファイルで有効にすることも出来る. バイナリログの指定方法(MySQL 起動時に行う方法) --log-bin=hoge とする. hoge が絶対パスでない場合は,データデ…

オンラインバックアップ

コマンド MYSQLDUMP を使用する. 内容は SQL として保存されるので,パイプして gzip をかけると良いかも. オプション user=実行ユーザ password=実行ユーザのパスワード all-databases:InnoDB で一貫性のあるバックアップをする single-transaction:全…

いま見ているサイトのURLをGWT経由にしてmailtoするブックマークレット

※GWTについてはこちらを参考にしてください.お昼休みなどに面白そうなページを見つけたが「あとで読む」ときに使っている自作.興味を引いたページはこれを使ってとりあえず自分のケータイに送り,通勤電車で見てるって感じ.通勤時間が長いし,GWTで変換し…

引数の数を確認する

以下は,「引数の数が0なら」. if [ $# -eq 0 ] then ... fi

今日の日付を yymmdd で取得する

$ date +%y%m%d 081211

リモートサーバのXクライアントを起動する

SSHポートフォワーディング - tomoyamkungの日記の続き.SSHポートフォワーディング - tomoyamkungの日記は最終的に下図のような構成になった. この構成で,マシンaにマシンcのXクライアントを起動させてみる(X11フォワーディング). 手順は以下の通り. …

json.js

多元配列 - tomoyamkungの日記にある配列bを,再び JSON に戻すときには json.js を使うと便利.toJSONString() というメソッドが定義してあるのでこれを使う. b.toJSONString();

多元配列

JSON でも多元配列は普通に使える. var a = '[[{"id":"00"},{"id":"01"},{"id":"02"}],' + '[{"id":"10"},{"id":"11"},{"id":"12"}],' + '[{"id":"20"},{"id":"21"},{"id":"22"}]]'; と定義してある場合, var b = eval(a); window.alert(b[0][0].id); とす…

確実に JMeter のスクリプトを書く方法

使い慣れてないのでコツをつかむまで作成に手間取ってしまった JMeter のスクリプトだが,この方法を使うとポンポン作成することができたのでメモ.それは,jpdaでTomcatを起動+eclipseでリモートデバッグ+JMeterを実行.この方法を使うと,不足しているパ…

JMeter で session を有効にする方法

お客さんのサイトがどれくらいの負荷に耐えられるのか試しに計測することになったので JMeter を使ってみたんだけど,session を有効にするにはどうすればいいのかちょっと悩んだのでメモ.結論としては何も難しいことはなく,スレッドグループに「HTTPクッ…

style="visibility:hidden" なテキスト・テキストエリアの使いどころ

頻繁にリクエストを送ってしまっている部分があって, こんなことをするのに毎回リクエストを送るのはイヤだなぁ パフォーマンスが悪いからちょっと減らしたいなぁ というときには style="visibility:hidden" なテキスト・テキストエリアを使うことがある.…