Bash 从 url 下载数据的脚本

Bash script to download data from url

我有一个 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.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 作业,另一个是获取文件并保存它。

步骤:

  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. 保存文件并安排作业。

你的情况:

0 0 * * * wget --quiet -O www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv

0 0 * * * /usr/bin/curl www.manishshukla.com/files/"$(date '+\%d-\%m-\%Y')".csv

这将在每天 0 小时 0 分钟 运行 命令。

添加了 \ 转义 %,因为如果不转义它可能无法在 corntab 中工作。

Percent-signs (%) in the command, unless escaped with backslash (), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.