日期:2014-05-16  浏览次数:20599 次

关于shell按条件导出数据库的问题
datetime4='date +%Y-%m-%d'
#导出数据
mysqldump -u$user -p$passwd -h$host $dbname  $tablename --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE -w 'datetime1="$datetime4"' --lock-all-tables  > /home/wwwroot/wanleke/websocket/uploadfile/wlk_uploadfile_$datetime.sql  
我想让程序自动导出当天的数据,比如2014-01-15的数据,应该如何操作,请各位指教

------解决方案--------------------
#!bin/bash
datetime=`date +%Y-%m-%d`
mysqldump -u$user -p$passwd -h$host $dbname $tablename --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE -w "datetime1='$datetime'" --lock-all-tables  > /home/wwwroot/wanleke/websocket/uploadfile/wlk_uploadfile_$datetime.sql

------解决方案--------------------
引用:
datetime4='date +%Y-%m-%d'
#导出数据
mysqldump -u$user -p$passwd -h$host $dbname  $tablename --no-create-db=TRUE --no-create-info=TRUE --add-drop-table=FALSE -w 'datetime1="$datetime4"' --l……
出问题的这句话当中,'datetime1="$datetime4"',bash不会对single quota当中的variable进行expansion的操作。按照楼上的做法应该就可以了。另外,对mysql不熟悉,不太清楚mysqldump当中-w参数的意思。