shell - mysqldumpはechoで動作しますが、直接は動作しません。

shell - mysqldumpはechoで動作しますが、直接は動作しません。

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: "<"

ベストアンサー1

おすすめ記事