用于从url下载数据的Bash脚本
我有一个URL,我必须每天从中下载数据,例如:用于从url下载数据的Bash脚本,bash,csv,crontab,wget,Bash,Csv,Crontab,Wget,我有一个URL,我必须每天从中下载数据,例如:www.manishshukla.com/files/05-17-2016.csv 在上面的URL中,它为我提供了2016年5月17日的数据。同样,对于2016年5月18日的数据,URL将为:www.manishshukla.com/files/05-18-2016.csv 我想要Bash脚本,它将自动获取当天的日期并下载文件 请帮我怎么做。我还想在cron上添加此作业,这样我就不需要手动运行代码。您可以使用以下方法: wget www.manish
www.manishshukla.com/files/05-17-2016.csv
在上面的URL中,它为我提供了2016年5月17日的数据。同样,对于2016年5月18日的数据,URL将为:www.manishshukla.com/files/05-18-2016.csv
我想要Bash脚本,它将自动获取当天的日期并下载文件
请帮我怎么做。我还想在cron
上添加此作业,这样我就不需要手动运行代码。您可以使用以下方法:
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
或其他任何路径。此处有两位。一个是调度cron作业,另一个是获取并保存文件
步骤:
crontab-e
分钟(0-59)小时(0-23)天(1-31)月(1-12)工作日(0-6)命令
wget www.manishshukla.com/files/“$(日期'+\%d-\%m-\%Y')”。csv
0 0 * * * wget --quiet -O www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv
或
这将在每天0小时0分钟运行该命令
添加了\
以转义%
,因为如果不转义,它可能无法在corntab中工作
命令中的百分号(%),除非用反斜杠()转义,
将更改为换行符,并且所有数据都在第一个字符之后
%将作为标准输入发送到命令
你能给我提供完整的代码,从开始以及下载文件的保存。我了解如何在cron上调度它,我需要完整的bash脚本。这样我就可以在我的终端上运行它,也可以在以前的日期运行。它从今天开始并继续运行。如果您想在以前的日期使用它,那么只需编写一个for循环,以放置适当的日期,并使用
wget
或curl
获取文件。请注意,这可能不起作用:您需要在cron表达式中避开%
。@fedorqui谢谢,将其添加到了答案中。老实说,谁对这个糟糕的问题投了反对票。没有特别的问题,他们只是要求别人为他们写一个脚本
0 0 * * * /usr/bin/curl www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv