天城さん三日坊主日記

天城さん三日坊主日記

PR

キーワードサーチ

▼キーワード検索

プロフィール

☆天城☆

☆天城☆

カレンダー

お気に入りブログ

まだ登録されていません

コメント新着

海のくまさん@ チン型取られちゃったw http://onaona.mogmog55.net/21l21yy/ 俺…
らめ仙人@ 初セッ○ス大成功!! 例のミドリさん、初めて会ったのに、僕の…
リナ@ 今日は苺ぱんちゅ http://kuri.backblack.net/kg8dvf8/ 今…
まさーしー@ なんぞコレなんぞぉ!! ぬオォォーーー!! w(゜д゜;w(゜д゜)w…
ダル伊藤@ ズ ル ム ケ自慢の奴涙目w 包.茎の方がピストンしてる時に、皮がこ…

フリーページ

Sep 3, 2012
XML
カテゴリ: カテゴリ未分類
#!/bin/bash
##############################################################################
## ファイル名 : infra_common.sh
## 機能名 : 共通環境変数・関数
## 戻り値 : なし
## 備考 : なし
##
##############################################################################
## Ver 日付 名前 改訂内容

## 1.0 2012/04/01 Initial Release
## ---- ----------- -------------- ------------------------------------------
##############################################################################

#----------------------------------------------
# 汎用変数
#----------------------------------------------
# 起動年月日
export C_EXEC_YMD=`date +"%Y%m%d"`
export C_EXEC_YMD_FMT=`date +"%Y-%m-%d"`

# 起動時刻
export C_EXEC_HMS=`date +"%H%M%S"`


# 自プロセスID
export C_EXEC_PID=$$

# 実行ユーザ
export C_EXEC_USER=`id -un`

# 実行Linuxサーバホスト名


# 実行Linuxサーバホスト名(小文字)
export C_EXEC_HOST=`hostname | tr '[:upper:]' '[:lower:]'`

# 実行シェルディレクトリ
export C_BIN_DIR="/opt//scripts/bin"

# 設定ファイルディレクトリ
export C_CONF_DIR="/opt//scripts/etc"

# ログファイルディレクトリ
export C_LOG_DIR="/opt//scripts/log"

# 一時ファイルディレクトリ
export C_TMP_DIR="/opt//scripts/tmp"

# バックアップディレクトリ
export C_BACKUP_DIR="/Backsys"

# 実行シェル名
export C_EXEC_NAME=`basename $0`

# 実行シェル名(フルパス)
export C_EXEC_NAME_FULL=`which ${0}`

# シェルログファイル
if [ -z "${C_LOG_FILE}" ]; then
export C_LOG_FILE="${C_LOG_DIR}/${C_EXEC_HOST}.${C_EXEC_NAME}.${C_EXEC_YMD}.log"
fi

# 一時ファイル
export C_TMP_FILE="${C_TMP_DIR}/${C_EXEC_HOST}.${C_EXEC_NAME}.${C_EXEC_YMD}${C_EXEC_HMS}.tmp.${C_EXEC_PID}"

# リターンコード定数
export C_NORMAL_RC=0 # 正常終了
export C_WARNING_RC=10 # 警告終了
export C_ERROR_RC=1 # 異常終了

#----------------------------------------------
# メッセージ出力関連変数
#----------------------------------------------
# メッセージ定義ファイル
C_ALERT_MSG_FILE="${C_CONF_DIR}/infra_msg.txt"

# システムログ出力(logger)時のファシリティ・メッセージレベル
C_FACILITY="local1"
C_LOGLEVEL="warn"

# 画面・ログ出力の通知レベル
export C_INFO_LEVEL="I" # 通知レベル
export C_WARNING_LEVEL="W" # 警告レベル
export C_ERROR_LEVEL="E" # エラーレベル

# 画面・ログ出力先指定定数
export C_BOTH_OUT=1 # 標準出力+シェルログ出力
export C_STD_OUT=2 # 標準出力
export C_LOG_OUT=3 # シェルログ出力

#----------------------------------------------
# その他
#----------------------------------------------
# プロセスチェック処理指定定数
export C_PROCCHK_NUM=1 # プロセス数を標準出力
export C_PROCCHK_PID=2 # プロセスIDリストを標準出力
export C_PROCCHK_LST_NUM_RET=3 # プロセス検索条件をリストから読込み、プロセス状態を出力
export C_PROCCHK_LST_PID_RET=4 # プロセス検索条件をリストから読込み、PIDを出力

##############################################################################
## 関数名 : cf_MsgWrite
## 引数 : ${1} 出力先の指定
## : ${C_BOTH_OUT} 標準出力+シェルログ出力
## : ${C_STD_OUT} 標準出力
## : ${C_LOG_OUT} シェルログ出力
## : ${2} 画面・ログ出力のレベル指定
## : ${C_INFO_LEVEL} 通知
## : ${C_WARNING_LEVEL} 警告
## : ${C_ERROR_LEVEL} エラー
## : ${3}- 出力メッセージ(任意の文字列)
## 戻り値 : ${C_NORMAL_RC} 正常終了
## : ${C_ERROR_RC} 異常終了
## 処理概要 : 出力先の指定が${C_BOTH_OUT}の場合
## : 出力メッセージをレベル指定の情報と共に標準出力と${C_LOG_FILE}に出力する。
## : 出力先の指定が${C_STD_OUT}の場合
## : 出力メッセージをレベル指定の情報と共に標準出力に出力する。
## : 出力先の指定が${C_LOG_OUT}の場合
## : 出力メッセージをレベル指定の情報と共に${C_LOG_FILE}に出力する。
##############################################################################
function cf_MsgWrite
{
##########################################################################
## Local Variable
##########################################################################

# cf_MsgWrite実行時日時
LCDATE_YMD=`date +"%Y-%m-%d"`
LCDATE_HMS=`date +"%H:%M:%S"`

##########################################################################
## Main
##########################################################################

# 想定外エラー
_output_fmt_err=`\
printf "%s %s %-15s %-10s PID:%-8s [%s] cf_MsgWriteの記述に誤りがあります。(Parameter[%s])\n"\
"${LCDATE_YMD}" "${LCDATE_HMS}" "${C_EXEC_NAME}" "${C_EXEC_USER}" \
"${C_EXEC_PID}" "${C_ERROR_LEVEL}" "$*"`

# Parameter Check
if [ $# -lt 3 ]; then
echo "${_output_fmt_err}" | tee -a ${C_LOG_FILE} 2>&1
return ${C_ERROR_RC}
fi

_output_type="${1}"
_output_level="${2}"
# 3個目以降を1文字列としてセット
shift 2
_output_msg="$*"

# Message Format - 標準出力
_output_fmt_std=`\
printf "%s %s %-15s %-10s [%s] %s\n" \
"${LCDATE_YMD}" "${LCDATE_HMS}" "${C_EXEC_NAME}" "${C_EXEC_USER}" \
"${_output_level}" "${_output_msg}"`
# Message Format - シェルログ出力
_output_fmt_log=`\
printf "%s %s %-15s %-10s PID:%-8s [%s] %s\n" \
"${LCDATE_YMD}" "${LCDATE_HMS}" "${C_EXEC_NAME}" "${C_EXEC_USER}" \
"${C_EXEC_PID}" "${_output_level}" "${_output_msg}"`

# 出力先指定毎に出力
case ${_output_type} in
# 標準出力+シェルログ出力
${C_BOTH_OUT})
echo "${_output_fmt_std}" 2>&1
echo "${_output_fmt_log}" >> ${C_LOG_FILE} 2>&1
;;
# 標準出力
${C_STD_OUT})
echo "${_output_fmt_std}" 2>&1
;;
# シェルログ出力
${C_LOG_OUT})
echo "${_output_fmt_log}" >> ${C_LOG_FILE} 2>&1
;;
# 出力先指定値外
*)
echo "${_output_fmt_err}" | tee -a ${C_LOG_FILE} 2>&1
return ${C_ERROR_RC}
esac

return ${C_NORMAL_RC}
}





お気に入りの記事を「いいね!」で応援しよう

最終更新日  Sep 3, 2012 07:00:46 AM
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: