Linux ifconfigからgrepとsedを用いてipアドレスのみ取得する。

コマンド

 # /sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' -e 's/ .*//'

結果

192.168.0.123


※良く忘れるので1ステップずつメモを残す。

eth0のip情報を表示
 # /sbin/ifconfig eth0 

eth0      Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff  
          inet addr:192.168.0.123  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16910 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6693 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1421134 (1.3 MiB)  TX bytes:2839384 (2.7 MiB)
ifconfigの結果をgrepコマンドに引き渡す。
先頭からinet addr:に一致する部分を検索する。

# /sbin/ifconfig eth0 | grep 'inet addr:'
    inet addr:192.168.0.123  Bcast:192.168.0.255  Mask:255.255.255.0
    ※左側にスペースもあり
grepの結果をsedに引き渡す。
先頭から検索し、*.inet addr:にマッチする部分をカットします。

 # /sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://'
192.168.0.123  Bcast:192.168.0.255  Mask:255.255.255.0
※スペースも削除された。
sedの結果を続けて処理。
半角スペース以降をカットします。
パイプ処理しなくても連続処理が可能。
# /sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' -e 's/ .*//'
192.168.0.123



スクリプト内での利用

ip_get.sh

#!/bin/sh

# functionの戻り値として文字列を返す
function func_get_ip(){
    IP=`/sbin/ifconfig eth0 | grep 'inet addr:' | sed -e 's/^.*inet addr://' -e 's/ .*//'`
    echo $IP
}

# コマンド実行、結果を変数に保持
ip=`func_get_ip`
echo $ip

exit 0


実行

 $ sh ./ip_get.sh
192.168.0.123

Python Image Library(PIL) を CentOS 6の64bit環境で使えるようにする

参考にしたページは以下。

http://itekblog.com/centos-6-x-install-pil-python-imaging-library-tutorial/

EPEL リポジトリの登録が必要のようです

cd /opt/
wget http://mirrors.nl.eu.kernel.org/fedora-epel/6/i386/epel-release-6-7.noarch.rpm
rpm -Uvh epel-release-6-7.noarch.rpm
rm epel-release-6-7.noarch.rpm -f

インストール

yum install python-imaging

テスト
img.pyを作成

from PIL import Image
img = Image.new('RGB', (100, 100), 'white')
img.save('white.png') 

実行,確認

 $ python img.py

white.pngが作成されていればOKです。

Python Image Library(PIL) ドキュメント
http://effbot.org/imagingbook/pil-index.htm

Python Pillow を windows7 64bit環境で使えるようにする

windows7 64bit環境でPIL(Python Image Library)を試そうと思ったところ上手く行かず。
インストールしてあるpythonpython 2.7。

64bit向けにコンパイルしてくれているサイトからダウンロードしました。

http://www.lfd.uci.edu/~gohlke/pythonlibs/

Pillow-2.5.1.win-amd64-py2.7.exeをダウンロードしてインストール

img.pyを作成

 from PIL import Image
 img = Image.new('RGB', (100, 100), 'white')
 img.save('white.png')

img.pyを実行

 > python img.py

white.pngが作成されていればとりあえず使えるようになっています。

Python Image Library(PIL) ドキュメント
http://effbot.org/imagingbook/pil-index.htm

DOS 日付フォーマット

深夜に稼働させるバッチファイルで、yyyymmddhhmmss.logと言ったログファイルを作成しようとしたところ、思うように動作しなかったのでメモ。

>SET YYYYMMDDHHMMSS=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

>echo %YYYYMMDDHHMMSS%

20140501165030

これだと時刻が0〜9時の間にスペースが含まれるようです。
スペースを0に置き換えてみました。

C:>echo %YYYYMMDDHHMMSS%
20140501 91030


C:>echo %YYYYMMDDHHMMSS: =0%
20140501091030

AWS ELBにSSL証明書を設定する

AWSSSL設定を行なった際のメモ
LBの設定が既にある場合を前提にします。

 左メニューの[Load Balancers]選択
[Load Balancer Name]から、SSL設定したいELBを選択
[Listeners]選択 -> [EDIT] -> [Add]で [HTTPS] -> [HTTP]を選択 -> [Saveクリック]
[SSL Certificate] -> [Change]を選択
[Select Certificate]ポップアップが表示される。
  Certificate Type       -> [Upload a new SSL Certificate]を選択
  Certificate Name       -> 証明書を識別出来る名前なら何でも良い
  Private key            -> 秘密鍵の中身をコピーペースト(*.key)
  Public key Certificate -> 証明書の中身をコピーペースト(*.crt)
  Certificate Chain      -> 中間証明書の中身をコピーペースト(*CA*.crt)

f:id:mikurass:20140414175513p:plain

f:id:mikurass:20140414175530p:plain