mysqldump の出力を変数に代入し、生成された出力を後で使用したいと考えています。
試行 1:
> 1.9.3-p125 :020 > x = `mysqldump falala` mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when
> trying to connect
=> ""
> 1.9.3-p125 :021 > x
=> ""
いいえ。X は空に戻り、エラーがあったかどうかを確認することさえできません
試行 2:
> 1.9.3-p125 :022 > x = system("mysqldump falala") mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO)
> when trying to connect
=> false
1.9.3-p125 :023 > x
=> false
より良い。このようにして、コマンドが成功した場合に x に情報が表示されますが、コンソール出力はまだありません。
私はまだRubyに慣れていませんが、Rubyはmysqldumpが機能するのを待たずに実行し続けると思いますが、その出力が本当に必要です(エラーが発生した場合、スクリプトはエラー/コンソールをメールで送信するため)出力)
実行する必要がある完全なコマンドは次のようなものです
mysqldump --host=#{host} --user=#{user} --password=#{pass} #{name} | gzip -9 > #{name}.sql.gz