当从cron调用时,脚本中的 wget不工作



我读过很多类似的案例,但我怎么也弄不清楚这个…

我在.sh脚本中运行wget命令,该脚本在重启时从cron调用,如下所示:

@reboot /home/user/reboot_script.sh
.sh脚本以 开头
#!/bin/bash

执行chmod +x reboot_script.sh

失败的那行是:

mac=$(</home/user/mac.txt)

可能没有向wget

中的变量提供内容。或

/usr/bin/wget "http://my.domain.com/$mac/line.txt" -O /home/user/line.txt 

如果我从命令行运行脚本,它工作得绝对很好,但如果它在重启时从cron运行,脚本运行,但line.txt被保存为空文件(0字节)。同样,如果直接从命令行运行,它可以正常工作。

我已经查看了文件权限,绝对路径,我能想到的所有内容,但是我已经盯着这个看了几个小时了。

任何帮助都会很感激。谢谢。

@reboot在启动过程中太早了。你应该创建一个systemd脚本来等待网络。

作为一种解决方法,您可以添加
sleep 30

或更好:

until ping -c1 domain.com &>/dev/null; do
sleep 5
done

相关内容

  • 没有找到相关文章

最新更新