-1
我做了一个SQL查询的小代码,在一个文件中有一些shell脚本,我被卡住了如何从命令行跳转到SQL查询,第二个查询不能运行:将SQL查询与shell脚本合并
file.sh
mysql -u root -pPASSWORD -D DATABASE << QUERY_INPUT
SELECT ip FROM ban_ip;
QUERY_INPUT
ls -l << QUERY_INPUT // Until here is good,
SELECT ip FROM ban_ip; // This command line does NOT run
QUERY_INPUT
修订的答案:
#!/bin/bash
#Connect to DB and select ban_ip
mysql -u root -pPASSWORD -D DB -e 'SELECT ip INTO OUTFILE “/var/lib/mysql/ip2ban.txt" FROM ban_ip WHERE ip_tables = "0"';
# After the Select query we need to move the file
mv /var/lib/mysql/ip2ban.txt /root/Scripts/IPTables/autoBan/ip2ban.txt
mysql -u root -pPASSWORD -D DB -e 'UPDATE ban_ip SET ip_tables = "1" WHERE ip_tables = "0"';
echo -e "Database updated with new banned IPs on $Now \nThank you for using this script" 2>&1 | sed '1!b;s/^/To: [email protected]\nSubject: New banned IPs\n\n/' | sendmail -t
谢谢你的建议
我该怎么做这样的'的mysql -u根-Ppassword -D DATABASE -e' SELECT ip FROM ban_ip''然后第二行'ls -l'再次第三行'mysql -u root -pPASSWORD -D DATABASE -e'选择ip FROM ban_ip'' –
我更新了新的答案,如果你可以检查if它是否正确 –
看起来合理。如果您遇到问题,请打开一个新问题。 – miken32