如何在不知道第一个文件名时检查所有远程mysql二进制日志文件(由于远程服务器上的轮换)

时间:2015-11-16 09:48:24

标签: mysql mysqlbinlog

任何非常感谢的指导

我们想使用mysqlbinlog从远程服务器下载二进制日志(必须是mysqlbinlog而不是scp,因为这是我们打开的唯一协议)

远程服务器设置为在2天后轮换日志,因为每24小时进行一次完整备份。

首次启动二进制日志时,filename为mysql-bin.000001,crontab命令运行正常:

  

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

现在,由于日志轮换,日志文件名现在从... bin.00008开始,当然命令失败。我知道我们可以手动mysql并运行SHOW BINARY LOGS

但无论如何我们可以'从第一个到最新请求所有日志文件而不知道名字'

干杯 试剂盒

1 个答案:

答案 0 :(得分:1)

虽然你可以组合命令并完成大致相同的结果,但是没有。

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

$()内的命令获得的结果将被删除到外部命令中。在$()内,您还需要重复--host--user等参数来对服务器进行身份验证。