我有一个网址,我必须每天下载数据,例如:www.manishshukla.com/files/05-17-2016.csv
在上面的网址中,它为我提供了2016年5月17日的数据。同样,对于2016年5月18日的数据,网址为:www.manishshukla.com/files/05-18-2016.csv
我想要Bash脚本,它会自动获取当天的日期并下载文件。
请帮我怎么做。我也希望在cron
上添加此作业,这样我就不需要手动运行代码了。
答案 0 :(得分:2)
您可以使用:
wget www.manishshukla.com/files/"$(date '+%d-%m-%Y')".csv
如果您想将其保存在特定的地方,那么
wget www.manishshukla.com/files/"$(date '+%d-%m-%Y')".csv -P /path/to/dir
您可以将此命令放在每日cron中,以便每天下载文件。对于cron,请使用wget
的完整路径,即/usr/bin/wget
或/usr/local/bin/wget
或其他任何内容。
答案 1 :(得分:2)
这里有两位。一个是安排一个cron工作,另一个是获取文件&保存它。
步骤:
打开终端&运行crontab -e
minute(0-59) hour(0-23) day(1-31) month(1-12) weekday(0-6) command
代替分钟,小时,日,月和平日。还提供运行命令。
这里的命令是:wget www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv
保存文件&这些工作都已安排好了。
在您的情况下:
0 0 * * * wget --quiet -O www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv
OR
0 0 * * * /usr/bin/curl www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv
这将在每天0小时0分钟运行命令。
添加\
以逃避%
,因为它可能无法在没有转义的情况下在corntab中使用。
命令中的百分号(%),除非使用反斜杠()进行转义, 将更改为换行符,以及第一个后的所有数据 %将作为标准输入发送到命令。