シェルスクリプト

概要

  • 対象のデータベースをバックアップ。
  • 対象テーブルを前月名でリネーム
  • リネームしたテーブルを/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

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-30 (木) 01:40:11