シェルスクリプト
- 対象のデータベースをバックアップ。
- 対象テーブルを前月名でリネーム
- リネームしたテーブルを/tmp配下にCSVで出力
- 既存のテーブルのレコードを削除
シェルスクリプト内容†
#!/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