-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