シェルスクリプト

概要 [#o8bcfcc1]

-対象のデータベースをバックアップ。 -対象テーブルを前月名でリネーム -リネームしたテーブルを/tmp配下にCSVで出力 -既存のテーブルのレコードを削除

シェルスクリプト内容 [#ob9084da]

 #!/bin/bash
 
 BEFOREMONTH=`date +%m`
 TODAYMONTH=`date +%Y``expr ${BEFOREMONTH} - 1`
 
 #echo ${BEFOREMONTH}
 #echo ${TODAYMONTH}
 
 mysqldump -uユーザー名 -pパスワード データベース名 | gzip > /tmp/データベース名.dump.`date +%Y%m%d`.gz
 mysql -uユーザー名 -pパスワード データベース名 << EOF
 create table テーブル名_${TODAYMONTH} like テーブル名;
 insert into テーブル名_${TODAYMONTH} select * from テーブル名;
 delete from テーブル名;
 SELECT * INTO OUTFILE'/tmp/テーブル名_${TODAYMONTH}.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '' LINES STARTING BY '' TERMINATED BY '\r\n' FROM テーブル名_${TODAYMONTH};
 EOF