0

どんなガイダンスも大歓迎です

mysqlbinlog を使用して、リモート サーバーからバイナリ ログをダウンロードします (開いている唯一のプロトコルであるため、scp ではなく mysqlbinlog である必要があります)。

完全バックアップは 24 時間ごとに行われるため、リモート サーバーは 2 日後にログをローテーションするように設定されています。

バイナリログが最初に開始されたとき、ファイル名は mysql-bin.000001 で、crontab コマンドは正常に実行されました。

mysqlbinlog mysql-bin.000001 --ssl=0 --read-from-remote-server --host=xxxxxxxxxxxx --user=xxxxxxxx --password=xxxxxxxx --raw --to-last-log --result-file =/opt/tb_mysql_backup_binary_logs/production/

現在、ログのローテーションにより、ログのファイル名が ...bin.00008 から始まるようになり、コマンドはもちろん失敗します。mysql を手動で入力して SHOW BINARY LOGS を実行できることはわかっています。

しかし、とにかく「最初の名前を知らなくても、最初から最新までのすべてのログファイルを要求する」ことができますか?

乾杯キット

4

1 に答える 1

1

コマンドを組み合わせてほぼ同じ結果を達成することはできますが、そうではありません。

mysqlbinlog $(mysql -e 'show binary logs;' --skip-column-names | head -n 1) --ssl=0 ...

内側のコマンドから得られた結果$()は、外側のコマンドにドロップされます。内部では、サーバーに対して認証するために、、などの引数を繰り返す$()必要もあります。--host--user

于 2015-11-16T13:40:58.917 に答える