2013年9月18日水曜日

CentOSにH2 Databaseをインストール

概要

H2 Databaseをインストールすることがメインなので、今回はパーミッション、アクセス権限は考えない

メモ

Javaをインストール


H2 DataBaseをインストール


H2 DataBaseに接続

# H2 DataBaseに起動
/usr/local/java/latest/bin/java -cp /opt/database/h2/bin/*.jar org.h2.tools.Server

Welcome to H2 Shell 1.3.173 (2013-07-28)
Exit with Ctrl+C
[Enter]   jdbc:h2:~/test
URL
[Enter]   org.h2.Driver
Driver
[Enter]   sa
User
[Enter]   Hide
Password
Password
Connected
Commands are case insensitive; SQL statements end with ';'
help or ?      Display this help
list           Toggle result list / stack trace mode
maxwidth       Set maximum column width (default is 100)
autocommit     Enable or disable autocommit
history        Show the last 20 statements
quit or exit   Close the connection and exit

sql> SELECT * FROM INFORMATION_SCHEMA.CATALOGS ;
CATALOG_NAME
TEST
(1 row, 7 ms)
sql> exit;
Connection closed

2013年9月9日月曜日

xmlからログ設定を取得

概要

ログ出力する設定をXMLから取得する関数を作成する。

・初期設定はpsに記述する
・XMLにアペンダを記述して選べるようにする

関数


XML設定


実行例

# XML読込
Set-LogSetting -XMLFilePath "C:\log4ps.xml" -Appender "unit"
# ログ出力
Write-DebugLog -VALUE "デバッグ"
Write-InfoLog -VALUE "情報"
Write-WarnLog -VALUE "警告"
Write-ErrorLog -VALUE "エラー" 

2013年9月7日土曜日

ファイルサイズでファイルをローテーションする

概要

ログを出し続けるとファイルサイズが大きくなりすぎて、処理が遅くなったり、ログの移動・参照もたいへんなので
ファイルサイズよりローテーションを行う関数を作成

・指定したファイルサイズ以上になったらローテーションを行う
・ローテーションする回数も指定する
・ローテーションしたファイル名は「ログファイル名」+「.」+「回数」

関数


日付でファイルをローテーションする

概要

日付よりローテーションを行う関数を作成

・ファイルの作成日が現在の日付でない場合にローテーションを行う
・ローテーションしたファイル名は「ログファイル名」+「.」+「日付フォーマット」

関数


2013年9月3日火曜日

ファイル名に角括弧[]がついてるとRename-Itemで失敗する

概要

ファイル名に角括弧[]がついてるとRename-Itemで失敗するので、Move-Itemを代用する

関数

# ------------------------------------------------------------------
# ファイル名をリネームする
# 関数名:Rename-File
# 引数  :FilePath 名前を変更するファイルパス
#       :NewFileName 新しいファイル名前
# 戻り値:なし
# ------------------------------------------------------------------
function Rename-File([String]$FilePath, [String]$NewFileName){
  if(Test-Path -LiteralPath $FilePath -PathType Leaf){
    $newFilePath = Join-Path -Path (Split-Path $FilePath -Parent) -ChildPath $NewFileName
    Move-Item -LiteralPath $FilePath -Destination $newFilePath
  }else{
    Write-Host "ファイルが存在しません。ファイル名[ $FilePath ]"
  }
}
 
# ------------------------------------------------------------------
# フォルダ名をリネームする
# 関数名:Rename-Folder
# 引数  :FolderPath 名前を変更するフォルダパス
#       :NewFolderName 新しいフォルダ名前
# 戻り値:なし
# ------------------------------------------------------------------
function Rename-Folder([String]$FolderPath, [String]$NewFolderName){
  if(Test-Path -LiteralPath $FolderPath -PathType Container){
    $newFolderPath = Join-Path -Path (Split-Path $FolderPath -Parent) -ChildPath $NewFolderName
    if(Test-Path -LiteralPath $FolderPath -PathType Container){
      Write-Host "既に存在するフォルダを作成することはできません。フォルダー名[ $FolderPath ]"
    }else{
      Move-Item -LiteralPath $FolderPath -Destination $newFolderPath
    }
  }else{
    Write-Host "フォルダが存在しません。フォルダ名[ $FolderPath ]"
  }
}

実行例

Rename-File -FilePath "C:\[20130903]新規要件定義\[20130903]Webログイン.xls" -NewFileName "Webログイン.xls"
Rename-Folder -FolderPath "C:\[20130903]新規要件定義" -NewFolderName "[20130903]要件定義"