问题描述
我编写了一个bash脚本,以自动执行从供应商到本机上的MySQL DB的月末数据处理。
脚本运行完成,但通常会出错/省略一些部分,随后我可以通过命令行成功运行它们,而无需进行修改。该错误似乎是在第二个cURL调用中(包括在下面)。对于我尚不清楚,当我能够从命令行运行而不会出现问题时,在shell脚本中运行会导致此问题。
我还提供了一个先前的呼叫以及相关的状态更新,该更新可以毫无问题地完成。
示例代码
DATE=$(date +"%Y%m")
USER=/user/
PASS=/pass/
SDATE=/lastRunDate/
MON=`date "+%m"`
#Indicators Inc/Bal Statement Descriptions
URL=`curl -s 'https://www.quandl.com/api/v3/datatables/SHARADAR/INDICATORS?qopts.export=true&api_key=APIKEY' | jq -r '.datatable_bulk_download.file.link'`
curl $URL -o /media/E/data/qu/INDICATORS.zip
#SEP Equity prices
URL=`curl -s 'https://www.quandl.com/api/v3/datatables/SHARADAR/SEP?qopts.export=true&api_key=APIKEYG&date.gt='$SDATE'' | jq -r '.datatable_bulk_download.file.link'`
curl $URL -o /media/E/data/qu/SEP.zip
unzip -p /media/E/data/qu/SEP.zip > /media/E/mysql/mysql-files/sep.csv
mysql --user=$USER --password=$PASS -e "load data infile '/media/E/mysql/mysql-files/sep.csv' into table eq.prices fields terminated by ',' optionally enclosed by '\"' lines terminated by '\n' ignore 1 lines (ticker,date,open,high,low,close,@v,dividends,unadjClose,@dummy) set volume = if(@v is NULL or @v = '' or @v = ' ',@v);"
rm /media/E/mysql/mysql-files/sep.csv
mv /media/E/data/qu/SEP.zip /media/E/data/qu/archive/SEP$DATE.zip
更新/错误消息
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13089 100 13089 0 0 32478 0 --:--:-- --:--:-- --:--:-- 32478
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: null
mysql: [Warning] Using a password on the command line interface can be insecure.
mv: cannot stat '/media/E/data/qu/SEP.zip': No such file or directory
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)