首页 > 解决方案 > 如何使用 wget 编写 cron 作业

问题描述

我正在尝试编写一个使用 wget 从 Web 服务器检索信息的 cron 作业。

更具体地说,我正在从国家海洋和大气管理局 (NOAA) 的国家数据浮标中心 (NDBC) 检索数据。这些数据对公众免费。

以下命令在我的目录中成功创建了 .txt 文件:

wget https://www.ndbc.noaa.gov/data/realtime2/46237.spec

现在我试图通过编写一个 cron 作业每 30 分钟自动执行一次这个命令。我使用 vim 编写了以下代码:

0,30 * * * * wget https://www.ndbc.noaa.gov/data/realtime2/46237.spec

我还通过运行“crontab -l”验证了这个 cron 作业是否存在

有谁知道为什么这不能正常执行?

PS我是编程新手,如果我滥用任何术语,请纠正我。谢谢

标签: cronwget

解决方案


可能有很多原因,但一般方法最好使用绝对路径并强制将输出重定向wget到特定文件。访问 https 时忽略认证检查也很好。你的 cron 会变成这样:

0,30 * * * * /usr/bin/wget -O /tmp/my_result.file --no-check-certificate https://www.ndbc.noaa.gov/data/realtime2/46237.spec

以上所有路径和文件名都是示例!

但最好的做法是创建 shell 脚本(例如在你的主目录中)并通过 cron 运行这个脚本


推荐阅读