2014年4月7日月曜日

号機ごとに違うantターゲットを起動させるときのメモ


hostsの変更反映 Windows config

windows7の場合のhostsファイルは下記
C:\Windows\System32\drivers\etc\hosts

コマンドプロントにて
ipconfig /displaydns
で確認
ipconfig /flushdns で反映
もしくは
net stop dnscache
でDNS Client サービスを停止し
net start dnscache
でDNS Client サービスを起動

/etc/hostsの変更反映 Linux config

# /etc/rc.d/init.d/network resatart
or
# /etc/rc.d/init.d/network reload

ファイル/ディレクトリを検索 -- find -- Linux:command

■ファイル/ディレクトリ/シンボリックリンクなどを検索する

・現位置のディレクトリとその配下にあるすべてより zipとなのつくファイル、ディレクトリを検索し
ひっかかたものをファイル/ディレクトリ名を表示する
find . -name "*zip*" -print

・現位置のディレクトリとその配下にあるすべてより zipとなのつくファイル、ディレクトリを検索し
ひっかかたものをファイル/ディレクトリ名詳細情報つきで表示する
find . -name "*zip*" -ls

・現位置のディレクトリとその配下にあるすべてのシンボリックリンクを表示する
find . -type l

・/var/www/trunk配下にあるすべての .svnとなまえのつく"ディレクトリ"を削除する  
find /var/www/trunk -type d -name '*.svn' | xargs rm -rf
※xargsコマンドは左辺のコマンドの出力結果をxargsの右辺のコマンドに渡す。


・/etc配下にある全てのファイルの中にhogeという文字列が含まれてるか検索し対象ファイル名を表示する
find /etc -type f -print | xargs grep hoge /dev/null

2014年4月4日金曜日

Java jvmのDNSキャッシュ

インフラがドメインのipアドレスを変更して以降javaからの接続でこけるようになった。
javaではipアドレスではなくURLドメイン名で指定してるから問題ねーだろとおもってら
ダメだった。

ググって調べたら
JVMはデフォルトだと一回でも成功しているDNSキャッシュはずっと保持しつづける設定になっている。とのこと
なんでこんな設定になってるのかはDNSリバインディング対策とからしい


インストールされているjavaの中に
/usr/java/j2sdk1.4.2_13/jre/lib/security/java.security
設定ファイルがある

下記行がそのデフォルトを示す設定
#networkaddress.cache.ttl=-1
こいつを下記のように
networkaddress.cache.ttl=0
修正した。

networkaddress.cache.ttl (デフォルト: -1)
java.security で指定して、ネームサービスからの名前の検索に成功した場合のキャッシングポリシーを示します。 指定する値は、成功した検索結果をキャッシュする秒数を示す整数です。-1 の値は、「ずっとキャッシュする」という意味です。

networkaddress.cache.negative.ttl (デフォルト: 10)
java.security で指定して、ネームサービスからの名前の検索に失敗した場合のキャッシングポリシーを示します。 指定する値は、失敗した検索結果をキャッシュする秒数を示す整数です。0 の値は、「キャッシュしない」という意味です。 -1 の値は、「ずっとキャッシュする」という意味です。


■jspで現在どのような状態になっているかも下記内容をいれれば確認できる

<%@ page import="java.net.*,java.security.*,sun.net.*" %>
<%
    InetAddress inetAddress = InetAddress.getByName("www.google.co.jp");
    byte[] address = inetAddress.getAddress();
    out.println("Domain Name : "+inetAddress.getHostName() + "<br>");
    out.println("IP Address : "+inetAddress.getHostAddress() + "<br>");
    out.println("Cache Policy : "+InetAddressCachePolicy.get() + "<br>");    
%>


■参考
http://docs.oracle.com/javase/jp/1.4/guide/net/properties.html
http://dev.classmethod.jp/cloud/apache-tomcat-elb-ttl-1/
http://koteitan.seesaa.net/article/95301330.html

ファイル/ディレクトリを削除 rm Linux:command

■rm
rm <対象ファイル名>
rm -r <対象ディレクトリ
rm -rf <対象ディレクトリ>  ファイル単位の削除確認をおこなわず一括削除
rm --help           
rm *.log            現在のディレクトリ内の .logという拡張時がついているファイルを全て削除する


・オプション
-r ディレクトリ内を再帰的に削除
-f, --force 削除確認をおこなわない
-v, --verbose ファイルを削除する前にファイル名を表示
--help rmコマンドの使用法を表示する

ファイル/フォルダの圧縮/展開 Linux:command

■zip  ・・zip方式は、Windowsでよく使われる圧縮方式・ファイルが対象の場合
zip <圧縮後のファイル名> <圧縮対象のファイル名> ・・元のファイルは残る
・ディレクトリが対象の場合
zip -r <圧縮後のファイル名> <圧縮対象のディレクトリ名> ・・元のディレクトリは残る


■unzip
unzip <展開対象のファイル> ・・元のファイルは残る