crontab 中没有 wget 域解析

crontab 中没有 wget 域解析

我需要在计算机启动时下载一个文件,因此我在 cronjob 中创建了这一行:

@reboot wget -a /log/here -O /save/here https://domain.tld/file.ext

不幸的是,它在 处创建了一个空白文件,/save/here并在 处给了我一个错误/log/here

错误说:

Resolving domain.tld (domain.tld)... failed: Temporary failure in name resolution.
wget: unable to resolve host address ■domain.tld■

这是因为名称解析在启动过程的早期不可用吗?除了用绕过名称解析的 IP 地址替换域名之外,我还能做些什么吗?我想将这一切都保留在 crontab 中。

答案1

用一个依赖于 的单元文件network,或者您可以尝试以下操作:

@reboot until ping -c1 dk &>/dev/null; do sleep 2; done; wget -a /log/here -O /save/here https://domain.tld/file.ext

dk是我所知道的最短的域名)

答案2

我发现在启动时使用 wget 最可靠的方法是在/etc/rc.local.另外,由于我使用的计算机没有内置电池,而是依靠网络时间协议在启动时设置时钟,我发现我还必须指定--no-check-certificate或不使用 https:// 来阻止该命令由于 SSL 证书尚未生效等问题而导致失败。

相关内容