10.28.2012

Shell: Copy Files with Timestamp

シェルスクリプト:タイムスタンプ付きの名前にコピーする

例えば基盤の設定ファイルを変更するとき、あるいはディレクトリ配下のモジュールを更新するときなど、
変更前の状態を今日の日付をつけた名前にバックアップを取ることがよくある。

例)
cp -pi /etc/hosts /etc/hosts.20121028 

その処理をbkという名前でシェルスクリプト化した。

  • test -e オプションを使っていないのは、Solaris の Bシェルにも対応させるためである。
  • 既に日付つきのファイルが存在している場合には、日付のあとにユニークな連番をつけてコピーする。
    例)file1.20121028.0, file1.20121028.1, file1.20121028.2 … 

bk
https://github.com/mogproject/mogproject/blob/master/script/bk 

README
https://github.com/mogproject/mogproject/blob/master/script/README.md

10.27.2012

How to Notify My Blogger Posts to Twitter

Twitter に Blogger ブログの更新を通知する方法

ブログの投稿を Twitter へ連携する方法やサービスはいくつかあるが、Google のサービスである FeedBurner を利用してみたのでその手順をメモしておく。

  1. FeedBurner のサイトを開く
    http://feedburner.google.com/
  2. Google アカウントでログイン
  3. Burn a feed right this instant. Type your blog or feed address here:
    の下にBloggerのアドレスを入力し、「Next」
  4. 複数のフィードが検出された(Identify Feed Source)ので、Atom の方を選ぶ
    mog project - Atom: http://mogproject.blogspot.com/feeds/posts/default
    mog project - RSS: http://mogproject.blogspot.com/feeds/posts/default?alt=rss
  5. フィードのタイトルとアドレスを入力
    タイトルは「mog project」、アドレスは「mogproject」としてみた。
  6. FeedBurner フィードの作成に成功。以下のアドレスを確認して「Next」
    http://feeds.feedburner.com/mogproject
  7. トラフィック分析の設定。デフォルトのまま「Next」
  8. feedburner の管理画面が表示されるので、Publicize(集客支援) –> Socialize を選択。
    尚、右上の「Languages」をクリックすれば、日本語表示も可能。
  9. 「Add a Twitter Account」ボタンを押下し、Twitter 認証を行う。
  10. 各種設定を行い、「Activate」ボタンを押下。
    とりあえず Additional text を追加しただけで他はデフォルト。

参考:
http://www.kuribo.info/2010/08/twitter-feedburner-socialize.html

10.25.2012

Play-Framework: Installation Failed

Playフレームワーク: インストール失敗

Windows XP の端末に Playフレームワークをインストールし
こちらのチュートリアルに従ってアプリケーション「todolist」を「play run」した。
http://playdocja.appspot.com/documentation/2.0.3/ScalaTodoList

ここまでは問題なかったのだが、ブラウザで「localhost:9000」を開くと
以下のようなエラーとなってしまい、いきなりハマってしまった。

Action not found.

for request 'GET /'

No router defined.

悪戦苦闘したものの原因は分からなかったが、以下の手順で無事復旧できた。

  • 最新版のJDK(jdk1.7.0_09)をインストール、javac のパスを通す
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • ドライブルート直下に「.sbt」フォルダが存在していたので削除 (アプリをEドライブに置いたので「E:\.sbt」)
  • アプリケーション「todolist」をプロジェクトから作り直し

以上、備忘録まで。

10.08.2012

Using FTP Commands in Shell Script

Shell: FTP処理の実行

コマンド「ftp」とヒアドキュメントを使ってFTP処理を実行することができる。

・FTP通信でファイルリストを取得する例

#!/bin/sh

ftp_list() {
  ftp -n $1 <<==
user $2 $3
ls $4
quit
==
}

ftp_list 'host' 'user' 'pass' 'path'

10.07.2012

Oracle: How to Find Location of SPFILE

Oracle: SPFILE(Server Parameter File) の場所を確認する方法

Oracle 9i- の初期化パラメータファイルの参照順は以下のとおり。

1. 起動時にpfileを指定した場合はそのファイル (startup pfile='<path>')
2. spfile<sid>.ora
3. spfile.ora
4. init<sid>.ora
5. init.ora

SPFILE のパスは、SQL*Plus で以下いずれかのコマンドを実行すれば確認できる。

SQL> show parameter spfile
SQL> select value from v$parameter where name = 'spfile';

PFILE のパスはコマンドでは確認できない。
デフォルトは Windows => $ORACLE_HOME/database, Linux/UNIX => $ORACLE_HOME/dbs 配下。

参考:
http://www.searchman.info/oracle10g_backup/1030.html

10.06.2012

How to Show Network Interface Settings in Solaris

Solaris: ネットワークインタフェースの通信速度・デュプレックス設定の確認方法

・netstat -i

(実行例)

$ netstat -i

有効なNICの一覧を表示。

・ndd

(実行例)

# ndd -set /dev/hme 0
# ndd /dev/hme link_speed
# ndd /dev/hme link_duplex
# ndd /dev/hme adv_autoneg_cap

デバイスの番号を指定してから表示を行う。「-set」を付けなければ「-get」を指定したのと同じ。

link_duplex        : 0 => 半二重通信(half)               , 1 => 全二重通信(full)
adv_autoneg_cap: 0 => 自動ネゴシエーション無効, 1 => 自動ネゴシエーション有効

・netstat -k (Solaris 8-9)

(実行例)

$ netstat -k hme0
$ netstat -k | awk '/^hme0/,/^$/'

 現時点のステータスを表示。link_speed (Mbps)、ifspeed (bps) などを確認。

・kstat (Solaris 10-11)

(実行例)

$ kstat -p hme

・dladm (Solaris 11)

(実行例)

$ dladm show-phys
LINK         MEDIA                STATE      SPEED  DUPLEX    DEVICE
e1000g0      Ethernet             up         1000   full      e1000g0

参考:
http://docs.oracle.com/cd/E26924_01/html/E25834/gkipd.html