臥薪嘗胆

インフラエンジニアのあれこれ

TLPI memo 3

2.15 疑似端末 自分の端末はwででてきた、TTYでわかる vagrant@precise64:~$ w 12:53:33 up 0 min, 1 user, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT vagrant pts/0 10.0.2.2 12:53 0.00s 0.20s 0.00s w vagrant@precise64…

「TLPI」を読んでく No.2

mmap() 仮想アドレス空間に領域を確保する ファイルマッピンク ファイルをメモリ領域にマップする その領域を書き換えると、ファイルも書き換わる 無名マッピング 対応するファイルは無い。 プロセス間通信 プロセスがお互いにやりとりする シグナル S…

mod_mruby install してみた

なぜやるのか? インフラエンジニアをやっていて、かゆいところに手が届かないことがたくさんあって もどかしい思いをずっとしてきた。 でもいまは時代が変わったようで、自分でmoduleを作らなくても チョイチョイっとかゆいところに手が届くそうだ そうmrub…

Cやってみよう #6

C

前年の続き だいぶ間が空いてしまった。 2016年、restartです。 続けるように。 mod_vhost_maxclients.c のソースを見ていきましょう。 174 for (i = 0; i < vhost_maxclients_server_limit; ++i) { 175 for (j = 0; j < vhost_maxclients_thread_limit;…

Cやってみよう #5

C

先日の続き 有識者とはタイミングが合わず、今回も独自の視点からみてみましょう! その前に、apacheに由来する部分を抑えようと思い立ちました。 request_rec構造体というモノを軽く見てみましょう。 とおもってググったら素晴らしいサイトに出会いました …

Cやってみよう #4

C

先日の続き おそろしい、C言語は恐ろしい。 たった10数行にも関わらず、頭に入ってこない。 俺の目と頭が連動しない... 慣れるしか無いのか! 112 static int check_extension(char *filename, apr_array_header_t *exts) 113 { 114 int i; 115 for (i = 0; …

Cやってみよう #3

C

先日の続き 偉大な先輩が言ってた 「時間があったら人のソースを読んで勉強しろ」 ということで、最近話題のソースを読んで勉強します。 お題はこちら:mod_vhost_maxclients 一つのapacheで複数のバーチャルホストを運用している場合は有用なのではないでし…

Cやってみよう #2

C

昨日の続き 引数をとって何かを出力する 何作る・・・? 無駄なやつ作る ググッてビビッときたのが、素数checker ひとまず、引数をとって出力するだけのやつを作ってみる 引数は何個でもOK int count; が無いとコンパイルエラーになった。丁寧。 chk-prime.c…

Cやってみよう #1

C

仕事でほんとに困ったときは C言語わからないのに、C言語のソースを追う必要があるし 何やってるかわからないpatchを充てたりする 最近流行りのmrubyもC言語で書かれているらしいのだ! だからチョットでもわかるようにC言語の気持ちに近づいてみよう。 とい…

今更ながら、Port vlanの構成image を(過不足あればお教えください)

port vlan image ┌─────────────────────────────────────────────────────────────────────────────────┐ │ ┌─────────────────────────────────────┐ ┌─────────────────────────────────────┐ │ │ │ VLAN100 │ │ VLAN999 │ │ │ │ port 1 ~ 4 │ │ port 5 ~…

初めてイベントで話してきました

京都に行けたので幸せでした。 私の不手際によって2泊3日。 フリーな時間はingressしまくって、メダル3つ獲得しました。 で、イベントは以下です。 Hosting Casual Talks #2 第2回ペパボテックカンファレンス【福岡】 いやー。緊張しました。 話した内容…

mysql5.6以降の初期パスワードについて

mysql5.6?くらいから、mysqlのデフォルトパスワードがmysqlに事前に設定されてる。 なので初期ログイン時はファイルから拾う必要があるが、mysqlを再構築する場合はどのファイルにパスワードが書かれるのかわかんなかったが、マニュアルを調べてみると --ra…

CentOS7でvncを起動させろ

前提条件 firewalld おとしとく SELinux無効しとく あとはここからやっていくと出来た。 深いところは調べてない・・・ install yum groupinstall "GNOME Desktop" yum install tigervnc-server.x86_64 rootユーザーでやった vncpasswd /root/.vnc/xstartup …

mysqldumpはこうした方がいいね(オンラインでバックアップの場合)

オンラインでバックアップを取る必要がある場合はロック出来ないので以下で! dump取得後にgzip圧縮もしてる --result-file=file_name, -r file_nameこのオプションで出力を指定していると、エラーが起きた場合、ファイルが空で作成されるのでおすすめしない…

iptables あれこれをここに記す

行番号を表示 /sbin/iptables -L -nv --line-number 行番号でルールを削除 /sbin/iptables -D INPUT "$NUM" stringで弾く /sbin/iptables -I INPUT -p tcp -m string --string "www.hoge.com" --algo bm --dport 80 --to 128 -j REJECT

rsync すごい(既存のoptionに便利なのがあった。賢い)

hard linkでバックアップを世代管理 rsyncで差分バックアップを取ろうにも 容量の問題 I/O負荷 NW負荷(サーバ間の場合)に直面すると思いますがこれでまるっと解決! test.sh #!/bin/bash # delete oldest backup if [ -d test_bk10 ] ;then /bin/rm -rf te…

awkで項目ごとに集計

集計対象の内容が以下の場合 cat test.list aaa 1 aaa 1 bbb 5 aaa 1 bbb 10 ccc 4 aaa 1 ccc 7 aaa 1 bbb 2 1項目目のaaa,bbb,cccごとに次の項目を集計する場合が以下のawkで。 awk '{ARY[$1]+=$2}END{for(i in ARY){printf "%s,%d\n",i,ARY[i]}}' test.lis…