where句を使用してmysqlテーブルダンプを実行するシェルスクリプトを準備しています。パラメータはテーブル名とwhere条件を渡しています。
バックアップコマンド:
mysqldump -u root-p'pass' db blocked_reasons --where=" created_time < DATE(Now() - INTERVAL 2 month)" > test.sql
パラメーターを使用してこのコマンドを実行します。
tbl="blocked_reasons"
where="--where="\""created_time < DATE(Now() - INTERVAL 2 month)"\"""
エコーを使って確認します。
echo " mysqldump -u root -p db $tbl $where > test.sql"
mysqldump -u root-p db blocked_reasons --where="created_time < DATE(Now() - INTERVAL 2 month)" > test.sql
ただし、このコマンドの実行を開始するとエラーが発生します。
mysqldump: Couldn't find table: "<"