用于从网址

时间:2016-05-17 08:57:10

标签: bash csv crontab wget

我有一个网址,我必须每天下载数据,例如:www.manishshukla.com/files/05-17-2016.csv

在上面的网址中,它为我提供了2016年5月17日的数据。同样,对于2016年5月18日的数据,网址为:www.manishshukla.com/files/05-18-2016.csv

我想要Bash脚本,它会自动获取当天的日期并下载文件。

请帮我怎么做。我也希望在cron上添加此作业,这样我就不需要手动运行代码了。

2 个答案:

答案 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工作,另一个是获取文件&保存它。

步骤:

  1. 打开终端&运行crontab -e

    minute(0-59) hour(0-23) day(1-31) month(1-12) weekday(0-6) command

  2. 代替分钟,小时,日,月和平日。还提供运行命令。

  3. 这里的命令是:wget www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv

  4. 保存文件&这些工作都已安排好了。

  5. 在您的情况下:

    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中使用。

      

    命令中的百分号(%),除非使用反斜杠()进行转义,   将更改为换行符,以及第一个后的所有数据   %将作为标准输入发送到命令。