2013-12-10 36 views
2

我对脚本编程很陌生,我每天都在使用MySQLdump来从外部服务器检索昨天的数据。我不想提及日期应该自动选择昨天的日期,并且每次都需要安排它。mysqldump每天的批处理脚本

mysqldump -P 3310 -h XXX.XXX.0.XXX -u [root] -p[kiran] customer1_ pay_and_display --where = 
ticket_datetime > '2013-12-09' and ticket_datetime < = '2013-12-10'> mybackup.sql 

回答

2

的选项是:

mysqldump -P 3310 -h XXX.XXX.0.XXX -u [root] -p[kiran] `customer1_` `pay_and_display` --where="DATE(`ticket_datetime`) > CURDATE() - INTERVAL 1 DAY AND DATE(`ticket_datetime`) <= CURDATE()" > mybackup.sql 

你可以像简化条件:

mysqldump -P 3310 -h XXX.XXX.0.XXX -u [root] -p[kiran] `customer1_` `pay_and_display` --where="DATE(`ticket_datetime`) = CURDATE() - INTERVAL 1 DAY" > mybackup.sql 
+0

我是t OP正在寻找'CURDATE()'而不是'NOW()'... – fancyPants

+0

@fancyPants:感谢您的贡献,回答更新。 – wchiquito

+0

没问题,第二个注意:我敢打赌,他希望'> = ...和<'而不是'> ...和<=' – fancyPants

2

使用CURDATE()和间隔X DAY

mysqldump -P 3310 -h XXX.XXX.0.XXX -u [root] -p[kiran] customer1_ pay_and_display --where = ticket_datetime > CURDATE() - INTERVAL 1 DAY and ticket_datetime < = CURDATE() > mybackup.sql 
+0

我不知道为什么我的where条件不工作,如果我使用mysqldump它工作正常,但没有在哪里条件 – preethi

+0

'mysqldump -P 3310 -h XXX.XXX.0.XXX - ü[root] -p [kiran] customer1_ pay_and_display'-这工作正常...但不是在哪里conditon。 – preethi

+0

YEP ...问题解决... – preethi