シェルスクリプト:MySQLでmod_log_sqlで使用されるテーブルをリネーム
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[シェルスクリプト]]
*概要 [#x05328ba]
apacheのmod_log_sqlを使用して、MySQLサーバーでログを管理...
また、6ヶ月前のテーブルを削除します。~~
DATE03と04の-6monthの箇所を変更することで、期間を変更でき...
スクリプト実行日がその月の第何週かをcaseで取得してます。~
mysqlのクエリ発行については特にエラー処理してませんが、存...
対象のデータベースはfor文でまわしているので、DB01にスペー...
今回はaccess_logがテーブル名ですが、リネームしてもあとか...
※mod_log_sqlの場合、テーブルが存在しないと、アクセスした...
*内容 [#h44c82ce]
下記をcrontabへ登録。時間は変更しても問題無し。またシェル...
10 0 3,8,15,22,29 * * /root/delapachelog.sh
~
#!/bin/bash
##### Weekly var
DATE00=`date +%d`
#DATE00=8
case ${DATE00} in
[0][1-7]|[1-7] )
DATE01=_01
;;
[0][8-9]|[8]|[9]|[1][0-4] )
DATE01=_02
;;
[1][5-9]|[2][0-1] )
DATE01=_03
;;
[2][2-8] )
DATE01=_04
;;
[2][9]|[3][0-1] )
DATE01=_05
;;
esac
###### Date Var
DATE02=`date +%Y%m | cut -c3-`${DATE01}
DATE03=`date +%Y%m --date '-6 month' | cut -c3-`${DATE01}
DATE04=`date +%Y%m --date '-6 month' | cut -c3-`
##### DataBase Var
#DB01="test01 test02 test03"
DB01="データベース01 データベース02 データベース03"
SQL01="rename table access_log to access_log_${DATE02};"
SQL02="drop table access_log_${DATE03};"
SQL03="drop table access_log_${DATE04};"
###### Rename table & drop table 6 month ago
for ARG01 in ${DB01}
do
mysql -u root -pパスワード ${ARG01} -e "${SQL01}"
mysql -u root -pパスワード ${ARG01} -e "${SQL02}"
mysql -u root -pパスワード ${ARG01} -e "${SQL03}"
done
終了行:
[[シェルスクリプト]]
*概要 [#x05328ba]
apacheのmod_log_sqlを使用して、MySQLサーバーでログを管理...
また、6ヶ月前のテーブルを削除します。~~
DATE03と04の-6monthの箇所を変更することで、期間を変更でき...
スクリプト実行日がその月の第何週かをcaseで取得してます。~
mysqlのクエリ発行については特にエラー処理してませんが、存...
対象のデータベースはfor文でまわしているので、DB01にスペー...
今回はaccess_logがテーブル名ですが、リネームしてもあとか...
※mod_log_sqlの場合、テーブルが存在しないと、アクセスした...
*内容 [#h44c82ce]
下記をcrontabへ登録。時間は変更しても問題無し。またシェル...
10 0 3,8,15,22,29 * * /root/delapachelog.sh
~
#!/bin/bash
##### Weekly var
DATE00=`date +%d`
#DATE00=8
case ${DATE00} in
[0][1-7]|[1-7] )
DATE01=_01
;;
[0][8-9]|[8]|[9]|[1][0-4] )
DATE01=_02
;;
[1][5-9]|[2][0-1] )
DATE01=_03
;;
[2][2-8] )
DATE01=_04
;;
[2][9]|[3][0-1] )
DATE01=_05
;;
esac
###### Date Var
DATE02=`date +%Y%m | cut -c3-`${DATE01}
DATE03=`date +%Y%m --date '-6 month' | cut -c3-`${DATE01}
DATE04=`date +%Y%m --date '-6 month' | cut -c3-`
##### DataBase Var
#DB01="test01 test02 test03"
DB01="データベース01 データベース02 データベース03"
SQL01="rename table access_log to access_log_${DATE02};"
SQL02="drop table access_log_${DATE03};"
SQL03="drop table access_log_${DATE04};"
###### Rename table & drop table 6 month ago
for ARG01 in ${DB01}
do
mysql -u root -pパスワード ${ARG01} -e "${SQL01}"
mysql -u root -pパスワード ${ARG01} -e "${SQL02}"
mysql -u root -pパスワード ${ARG01} -e "${SQL03}"
done
ページ名: