背景
今日、私は次のコマンドを使ってperconnaのinnobackupexを試しました。
innobackupex --stream=xbstream /root/backup/ > /root/backup/backup.xbstream
しかし、私の端末にログが表示されることを確認しました。
...
IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex
prints "completed OK!".
230202 15:52:24 Connecting to MySQL server host: 127.0.0.1, user: root, password: set, port: 3306, socket: not set
...
何をするのか分からない
リダイレクトは>
標準出力を/root/backup/backup.xbstreamに書き込めませんか?端末でログを見続けることができるのはなぜですか?
答え1
Unixシリーズシステムのプロセスには、異なるエラー出力ストリームと処理されたデータストリームがstderr
ありますstdout
。この分離は、警告メッセージとエラーメッセージが出力データの形式を妨げないようにするために行われます(たとえば、パイプを介して転送される場合など)。
# redirect the command output, but omit warnings and errors
# (these will end up on stderr, which is written to the console by default)
mycommand > /some/path/myfile
# redirect warnings and errors only
mycommand 2> /some/path/myfile
# redirect both
mycommand &> /some/path/myfile
引用するリダイレクトに関するGNU公式Bashドキュメント各ストリームリダイレクトの詳細