Curl 在启动期间无法下载文件

Curl 在启动期间无法下载文件

我正在使用 update-rc.d 在 Ubuntu 中添加启动脚本。
我的脚本说:

  #!/bin/bash

nohup curl -C - -o ~/Downloads/linuxmint-17-xfce-dvd-64bit.iso.part 'http://mirror.umd.edu/linuxmint/images/stable/17/linuxmint-17-xfce-dvd-64bit.iso'  
exit

使其可执行并添加到 /etc/init.d 中

现在,当我手动运行脚本时,它运行得非常好。

但是添加启动后,并没有自动启动。
它在 nohup.out 中向我抛出错误,如下所示:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Couldn't connect to server

还有什么我需要检查的,或者我可以使用什么其他选项在启动时运行相同的脚本。

root@amol-Lenovo-G570:~# ll /etc/rc2.d/ total 20 
drwxr-xr-x 2 root root 4096 Nov 7 20:24 ./ 
drwxr-xr-x 179 root root 12288 Nov 7 19:36 ../ 
lrwxrwxrwx 1 root root 32 Oct 23 12:38 K08vmware-USBArbitrator -> /etc/init.d/vmware-USBArbitrator* 
lrwxrwxrwx 1 root root 20 Sep 26 2012 S19postgresql -> ../init.d/postgresql*   
lrwxrwxrwx 1 root root 21 Nov 7 20:24 S20download.sh -> ../init.d/download.sh* 

其中 download.sh 是我正在运行的脚本。

答案1

问题很简单。您的网络甚至还没有启动,所以:

Couldn't connect to server

我将创建一个 upstart/systemd 或一个真正的 sysv-init 脚本,并依赖于网络。

有多种方法可以实现此目的:

答案2

只需添加一个--retry 5 --retry-max-time 120,它最终就会正常工作。

相关内容