我正在尝试编写一个cron作业,该作业使用wget从Web服务器检索信息。
更具体地说,我正在从美国国家海洋与大气管理局(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作业存在
有人知道为什么这不能正确执行吗?
P.S。我是编程新手,如果我滥用任何术语,请更正我。谢谢
答案 0 :(得分:0)
有很多原因,但是使用通用路径并强制将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运行该脚本