La última parte de mi guión sólo está pendiente.
Consulte amablemente el código a continuación.
master_db_user='root'
master_db_passwd='123'
master_db_port='3306'
master_db_host='localhost'
master_db_name='uppcldashboard'
Now=$(date +"%d-%m-20%Y")
#Preparing script
#SQL_Query='select * from test_table;'
#MySql Command to connect to a database
mysql -u$master_db_user -p$master_db_passwd -D$master_db_name -e 'select * from uppcl_amount_details into outfile "/created_files/uppcl.csv" fields terminated by "," lines terminated by "\n"';
mv /created_files/uppcl.csv /created_files/offline_collection$Now.csv
sed -i "1i ID","Cashier_id","Discom","Division_Code","division_Name" /created_files/offline_collection$Now.csv
echo "End of the Script"
Bien, la pregunta principal es esta... así que tengo una columna en mi tabla llamada posting_dates. Debido a la fecha de publicación, podemos saber que los datos presentes en la tabla son de esa fecha en particular.
Ahora el problema dentro de mi script es que no puedo usar ninguna variable que cambie en la consulta. simplemente no funciona ya que toma la consulta como una declaración.
básicamente lo que quiero es esto
Debo hacer una consulta de este tipo en la que no necesito mencionar ninguna fecha. Quiero que recupere datos de ese día en particular. porque no puedo cambiar la consulta cada vez.
No puedo estar como en posting_date="2020-03-30", necesito algo que realice cambios automáticamente en la consulta todos los días. porque se utilizará para crear un archivo de esa fecha en particular.
Realmente necesito ayuda para esta gente.
Gracias y saludos, Sagar Mandal.
Respuesta1
Simplemente no uses comillas simples:
mysql -u$master_db_user -p$master_db_passwd -D$master_db_name \
-e "select * from uppcl_amount_details where date='$Now' into \
outfile '/created_files/uppcl.csv' fields terminated by ',' \
lines terminated by '\n'";
De esa manera, también podrás obtener el nombre del archivo desde el principio:
into outfile '/created_files/offline_collection$Now.csv'
Tenga en cuenta también que sudate
formato probablemente no sea el que desea. Tienes esto:
$ date +"%d-%m-20%Y"
14-04-202020
Pero probablemente quieras esto:
$ date +%F
2020-04-14
Entonces:Now=$(date +%F)
.