コマンドラインからスクリプトを実行すると、MySQLのログをファイルにインポートしようとします。
例えば
mysql -v mydb u- alex -p**** < please_run_me.sql > /tmp/file.log
これで操作は完了しましたが、file.logは空です。私は-vが私が望む出力を与えると思います。私がどうするか知りたい
- MySQLの出力をfile.logにインポートします。
- または、操作が失敗した場合にのみfile.logに内容を入力することをお勧めします(ただし、コマンドラインでテストするときに何が起こっているのかを知りたいので、どちらも便利です)。
- エラーやその他のコンテンツを自分に電子メールで送信してください。
(最終的にはcronジョブで終了します)。
答え1
使用時にstderr
ログ出力を取得するにはリダイレクトが必要です-v
。
次の作業を行う必要があります。
mysql -v mydb u- alex -p**** < please_run_me.sql 2>&1 > /tmp/file.log
にリダイレクトし2>&1
てからにリダイレクトされますstderr
。これが上書きされることを覚えておいてください。追加したい場合はこれを使用してください。stdout
/tmp/file.log
>
/tmp/file.log
>>