weblog of key_amb

主にIT関連の技術メモ

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

IO負荷のシューティング

※こっちにまとめました。 vmstatやiostatでcpuのio waitがどれだけ発生しているか、swapの状態、I/Oのbi, boなどはわかる。 kernelのIO Accounting機能が有効であれば、プロセスごとのI/O統計が取れるので、どのプロセスが原因か特定することが出来る。 pids…

Audit機能

ユーザが何をしているか監視する機能だそうな。 ログは /var/log/audit/audit.log に記録される。 参考 Linux Auditで社内からの脅威を検出する - SourceForge.JP Magazine : オープンソースの話題満載 Diverses Notes

(メモ) unameコマンド - kernelのバージョンを調べる

uname -a

(メモ) sortコマンド

よく使うオプション オプション 意味 -k 番号 ソートするフィールド番号を指定する -n 数字としてソート -r 降順にソート 使用例 # 1フィールド名の数値の降順でソート sort -k1 -nr test.dat 参考

カーネルパニックを発生させる

次のコマンドでカーネルパニックを発生させることができる echo c > /proc/sysrq-trigger 参考 【linux】カーネルパニックの種類 | 発生方法 | 対処

(メモ) scpコマンド

よく使うオプション オプション 意味 -r ディレクトリ以下を再帰的にコピー -p 更新時間,アクセス時間,モードを保持する -l 数字 指定のbpsを使用する帯域の上限として実行 参考 scp

ibdataのサイズを縮小する

ibdataのサイズを縮小するには、ibdata, iblogのファイルを全部消して、my.cnfを変更してmysqldを再起動する必要がある。 今までのデータがなくなっては困る!という場合は、dumpを取っておいて、入れ直す。 my.cnfの編集 innodb_data_file_path を変更する…

FormValidator::Simple

Webでのリクエストパラメータのチェックなどに使う。 参考 FormValidator::Simple - search.cpan.org http://d.hatena.ne.jp/fjkktkys/20070427/1177664978

Perlのワンライナーとコマンドラインオプション

コマンドラインオプション オプション 意味 -e 文字列をスクリプトとして実行 -l 強制改行 -M{モジュール名} モジュールをuseする -MO=Deparse コマンドライン実行時にスクリプトに変換する -n 1行ずつ処理 -p 出力 -i 出力先を入力ファイル自身にする 以上…

Ctags with Vim

ctagsをviで使ってみた。でも結局秀丸の方が速いのは、自分がヘタレだからだろうか。 参考 taglist.vim : ソースコード上のメソッド宣言、変数宣言の一覧を表示 — 名無しのvim使い tips/59 - VimWiki Manpage of CTAGS日本語対応版

sudoの利用ユーザの設定

筆者の環境はCentOS 5。/etc/sudoers ファイルを編集する。 編集する際に、専用のコマンド=/usr/bin/visudo を使う。 操作はviと一緒。 # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # # See the sudoers man page for…

Nagiosプラグインの作り方

概要 任意のスクリプトをプラグインのパス(私の環境では /usr/lib/nagios/plugins/ )に配置し、/etc/nagios/objects/commands.cfg に定義を追加する。 返り値 返り値 意味 0 OK 1 WARNING 2 CRITICAL 3 UNKNOWN 参考

(メモ) pgrep, pkillコマンド

pgrepはプロセス名指定でプロセス番号を表示する。 pkillはpgrepの結果を用いてマッチしたプロセスをkillする。 pkill プロセス名 参考 pgrep, pkill を使用してプロセスを殺す - 技術メモ帳

シェルスクリプトの文字列比較

式 意味 文字列 長さが0より大きければ真 ! 文字列 長さが0であれば真 文字列1 = 文字列2 等しければ真 文字列1 != 文字列2 等しくなければ真 参考 シェルスクリプト入門 [演算・比較]

NFSサーバの起動・停止

portmapが動いていないと、動かなかったりする。 以下、CentOS 5で確認。 起動 /etc/rc.d/init.d/portmap start /etc/init.d/nfs start 停止 /etc/init.d/nfs stop /etc/rc.d/init.d/portmap stopOS起動時に起動したい/したくないときはchkconfigで制御する…

AnyEvent::IRC::Client

perlでIRCボットを作るときに使うモジュール。 参考 livedoor Techブログ : 小ネタ AnyEvent::IRC::Client - search.cpan.org

Wiresharkの使い方

よくやる使い方をここに書く。 ** 遅いTCPセッションを見つける TCP Conversationsから、Durationでソートする。 セッションの詳細を見るには、選択した状態で、「Follow TCP Streams」のボタンを押せばいい。 ** 参考 - 引越ししました - Hokkaido.cap#1 Wi…

exportfs

NFSエクスポートするファイルシステムのリストを管理する。 オプションなしで実行すると、現在エクスポートしているリストを表示する。 # エクスポートするリストを/etc/exportsに同期 exportfs -a # 全てのディレクトリを再エクスポート exportfs -r 参考 M…

mysqlbinlogコマンドでMySQLのbinlogを見る

mysqlbinlogコマンドでMySQLのbinlogを見ることができる。 使い方 mysqlbinlog [オプション] binlogファイル名 オプション オプション 意味 --start-datetime="YYYY-MM-DD hh:mm:ss" ログの開始日時 --stop-datetime="YYYY-MM-DD hh:mm:ss" ログの終了日時 -…

MySQLレプリケーション停止時の対応

エラーのスキップ 問題のSQLをスキップする。 SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; START SLAVE; エラーを無視してレプリケーションを続ける。 my.cnfに次を記述して、mysqldを再起動する。 [mysqld] slave-skip-errors=エラー番号 参考 MySQL スレーブ…

(メモ) mount/umountコマンド

mount umount オプション 意味 -f 強制的にアンマウント -l deviceがbusyでないものとしてアンマウント 参考 強制的にファイルシステムをアンマウントする - ktomoyaの日記

NagiosプラグインをPerlで作成するときのハマりポイント

evalブロック内でexitしない ふつうにexitしてくれるかと思ったら、なんかエラーになってしまった。 use warnings;は使わない方がよさそう これはひょっとすると、同時にNagiosのPerlライブラリをuseしていたのが影響していたかもしれない。あるいは、単にPe…

MySQL ストアドプロシージャことはじめ

-- 一覧を見る show procedure status; -- 定義を見る show create procedure プロシージャ名; 権限がないとプロシージャの定義が見れなかったりするので注意。 参考 MySQL :: MySQL 5.1 リファレンスマニュアル :: 17.2.1 CREATE PROCEDUREおよびCREATE FUN…

(メモ) findコマンドの使い方

** オプション 良く使うオプション。 | オプション | 説明 | | -name | ファイル名 | | -type | f:ファイル, d:ディレクトリ| | -maxdepth | 探索する最大階層 | | -mtime | ファイルのタイムスタンプ | ** 例 |sh| カレントディレクトリから最大2階層以内に…

IO::Prompt::Simple

perlでプロンプトをさくっと使いたいときに使う。 use IO::Prompt::Simple; if ( prompt 'ok?', +{ yn => 1 } ) { # 処理 } else { return; } 参考 IO::Prompt::Simple - search.cpan.org にひりずむ::しんぷる - IO::Prompt::Simple 書いた IO::Prompt::Sim…

syslog.conf

syslogdのための設定ファイル。 どのログをどのファイルに記録するか。 例 # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't …

Syslogとは

Syslog は、ログメッセージをIPネットワーク上で転送するための標準規格である。"Syslog" という用語は、その通信プロトコルを指すだけでなく、Syslog メッセージを送信するアプリケーションやライブラリに対しても使われる。 Syslog プロトコルはクライアン…

tcpdumpの使い方

よく使う使い方をここにまとめる オプション オプション 意味 -c 数 指定した数のパケットを受信したら終了 -w /path/to/file ファイルに書き出す -r /path/to/file パケットをファイルから読み込む -i インタフェース NICを指定する(eth0とか) -n アドレス…

time - コマンドの実行時間を計測

time コマンド 例 $ time cat /path/to/file > /dev/null real 0m0.026s user 0m0.000s sys 0m0.004s 参考 Linuxコマンド集 - 【 time 】 指定したコマンドの実行時間を表示する:ITpro

シェルスクリプトで for ループ

for i in 1 2 3; do echo $i >> /tmp/num.log done for i in `seq 0 5`; do echo $i >> /tmp/seq.log done for a in ${ARR[@]}; do echo $a done