如果没有结果,mysqldump会避免文件创建

时间:2018-03-07 11:57:35

标签: mysql

我尝试从上次备份进行差异备份,如下所示:

mysqldump --no-create-info --replace --skip-comments --skip-triggers --hex-blob  
testdb mytable --where="last_backup > '$last_backup'" | gzip -c > backup_file.gz

一切正常,但如果上次备份mysqldump没有任何变化,则获得一个空文件(只有特定于mysql的页眉和页脚行)

如果没有变化,有没有办法避免创建backup_file.gz?

有点像:

IF ((SELECT COUNT(*) FROM my_table WHERE last_backup > '$last_backup') > 0) THEN 
mysqldump --no-create-info --replace --skip-comments --skip-triggers --hex-blob  
testdb mytable --where="last_backup > '$last_backup'" | gzip -c > backup_file.gz

1 个答案:

答案 0 :(得分:0)

最后我解决了这个问题:

{{1}}

mysqldump命令必须在一行中。我已经分裂为更具可读性 但If条件可以是多行