MySQLのテーブル破損チェック
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
目次
#Contents
**概要 [#mb24282b]
MySQLのテーブル破損をチェックするスクリプト。~
check tableコマンドを使用するため、DBエンジンがInnoDBもし...
**動作環境 [#h5f7d8af]
以下の環境にて動作試験済み。~
|''環境''|''バージョン''|''備考''|
|OS|CentOS 5.3||
|MySQL|MySQL 5.1|/usr/local/mysql配下にインストール|
**使い方 [#u0663472]
テーブルのリストファイルを読み込み、テーブルの破損状況を...
リストファイルはコード内で変数定義されているファイルか、...
~
-使用例1(コード内の変数を使用)~
./mysql-tablecheck.sh
~
-使用例2(コード内の変数を使用)~
./mysql-tablecheck.sh table-list.txt mysql
~
チェック結果は以下のログファイルに出力される。~
/home/system/logs/mysql-tablecheck_YYYYMM.log
ログファイルの生成時に以下のシンボリックリンクを自動的に...
/home/system/logs/mysql-tablecheck.log
**変数設定 [#n034e52f]
コード内の変数を変更することで、引数指定なしでの実行と、...
|''変数名''|''例''|''機能''|
|TABLELIST|table-list.txt|チェック対象のテーブルリストフ...
|MYSQLUSER|mysql|MySQLの接続用アカウント|
|MYSQLPASS|mysql|上記パスワード|
|DBNAME|mysql|テーブルが格納されているデータベース名|
|LOGPATH|/home/system/logs|ログファイルの保存先|
**コード [#k1d0b623]
-mysql-tablecheck.sh~
#!/bin/sh
# ------------------------
# MySQL Table Check Script
# ------------------------
# Version : 1.1
# date : 2009/12/25
export LANG=C
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbi...
export LD_LIBRARY_PATH=:/usr/local/mysql/lib/mysql
## Setting
TABLELIST="[TABLELIST]"
MYSQLUSER="[MYSQL USER]"
MYSQLPASS="[MYSQL PASSWORD]"
DBNAME="[DATABASE NAME]"
## LogFile
MDATE=`date +%Y%m`
LOGPATH="[LOG File PATH]"
LOGFILE=$LOGPATH"/mysql-tablecheck_"$MDATE".log"
## LogFile Setting
if [ -d $LOGPATH ];then
rm -f $LOGPATH"/mysql-tablecheck.log"
ln -s $LOGFILE $LOGPATH"/mysql-tablecheck.log"
else
echo $LOGPATH" not found"
exit 1
fi
## Perm Set
if [ -z $1 ]; then
if [ -r $TABLELIST ];then
LIST=$TABLELIST
else
echo $TABLELIST" not found"
exit 1
fi
else
if [ -r $1 ];then
LIST=$1
else
echo $1" not found"
exit 1
fi
fi
if [ -f $LIST ]; then
TABLENAME=`cat $LIST | awk '{printf "%s, ",$1}END{print...
else
exit 1
fi
if [ -z $2 ]; then
DB=$DBNAME
else
DB=$2
fi
## DEBUG
echo "use $DB; check table $TABLENAME"
## Exec
echo "------------------------------" >> $LOGFILE
date +%Y/%m/%d" "%H:%M:%S >> $LOGFILE
echo "------------------------------" >> $LOGFILE
echo "use $DB; check table $TABLENAME" |mysql -u $MYSQLU...
echo "------------------------------" >> $LOGFILE
date +%Y/%m/%d" "%H:%M:%S >> $LOGFILE
echo "------------------------------" >> $LOGFILE
echo "END" >> $LOGFILE
# EOF
終了行:
目次
#Contents
**概要 [#mb24282b]
MySQLのテーブル破損をチェックするスクリプト。~
check tableコマンドを使用するため、DBエンジンがInnoDBもし...
**動作環境 [#h5f7d8af]
以下の環境にて動作試験済み。~
|''環境''|''バージョン''|''備考''|
|OS|CentOS 5.3||
|MySQL|MySQL 5.1|/usr/local/mysql配下にインストール|
**使い方 [#u0663472]
テーブルのリストファイルを読み込み、テーブルの破損状況を...
リストファイルはコード内で変数定義されているファイルか、...
~
-使用例1(コード内の変数を使用)~
./mysql-tablecheck.sh
~
-使用例2(コード内の変数を使用)~
./mysql-tablecheck.sh table-list.txt mysql
~
チェック結果は以下のログファイルに出力される。~
/home/system/logs/mysql-tablecheck_YYYYMM.log
ログファイルの生成時に以下のシンボリックリンクを自動的に...
/home/system/logs/mysql-tablecheck.log
**変数設定 [#n034e52f]
コード内の変数を変更することで、引数指定なしでの実行と、...
|''変数名''|''例''|''機能''|
|TABLELIST|table-list.txt|チェック対象のテーブルリストフ...
|MYSQLUSER|mysql|MySQLの接続用アカウント|
|MYSQLPASS|mysql|上記パスワード|
|DBNAME|mysql|テーブルが格納されているデータベース名|
|LOGPATH|/home/system/logs|ログファイルの保存先|
**コード [#k1d0b623]
-mysql-tablecheck.sh~
#!/bin/sh
# ------------------------
# MySQL Table Check Script
# ------------------------
# Version : 1.1
# date : 2009/12/25
export LANG=C
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbi...
export LD_LIBRARY_PATH=:/usr/local/mysql/lib/mysql
## Setting
TABLELIST="[TABLELIST]"
MYSQLUSER="[MYSQL USER]"
MYSQLPASS="[MYSQL PASSWORD]"
DBNAME="[DATABASE NAME]"
## LogFile
MDATE=`date +%Y%m`
LOGPATH="[LOG File PATH]"
LOGFILE=$LOGPATH"/mysql-tablecheck_"$MDATE".log"
## LogFile Setting
if [ -d $LOGPATH ];then
rm -f $LOGPATH"/mysql-tablecheck.log"
ln -s $LOGFILE $LOGPATH"/mysql-tablecheck.log"
else
echo $LOGPATH" not found"
exit 1
fi
## Perm Set
if [ -z $1 ]; then
if [ -r $TABLELIST ];then
LIST=$TABLELIST
else
echo $TABLELIST" not found"
exit 1
fi
else
if [ -r $1 ];then
LIST=$1
else
echo $1" not found"
exit 1
fi
fi
if [ -f $LIST ]; then
TABLENAME=`cat $LIST | awk '{printf "%s, ",$1}END{print...
else
exit 1
fi
if [ -z $2 ]; then
DB=$DBNAME
else
DB=$2
fi
## DEBUG
echo "use $DB; check table $TABLENAME"
## Exec
echo "------------------------------" >> $LOGFILE
date +%Y/%m/%d" "%H:%M:%S >> $LOGFILE
echo "------------------------------" >> $LOGFILE
echo "use $DB; check table $TABLENAME" |mysql -u $MYSQLU...
echo "------------------------------" >> $LOGFILE
date +%Y/%m/%d" "%H:%M:%S >> $LOGFILE
echo "------------------------------" >> $LOGFILE
echo "END" >> $LOGFILE
# EOF
ページ名: