Fedora在启动时下载文件

我需要从外部位置下载文件,例如http://s3.amazonaws.com/my-bucket/config.xml ,然后在服务器启动时将该文件保存到/etc/config.xml中。

什么是在Fedora做到这一点的最佳方式?

我假设我需要一些启动脚本,因为这需要在每次重启/启动时完成。

只是澄清,过程将是:

  • 服务器启动
  • 服务器从位置下载文件
  • 服务器运行命令“serivce httpd start”

每次系统启动时,都可以使用cron的@reboot指令来运行脚本。 编辑/etc/crontab

 @reboot root cd /to/where/xml/file/lives && /usr/bin/wget -q http://s3.amazonaws.com/my-bucket/config.xml && /sbin/service http start 

根据IgnacioVazquez-Abrams的评论,你将需要在启动时使用chkconfig命令禁用httpd,例如

chkconfig httpd off

你可以把这些命令放到/etc/rc.local 。 该脚本在启动过程结束时运行,因此您的networking接口和设置将启动。 您可能必须禁用现有的httpd启动脚本(可能位于/etc/init.d ),使其不可执行:

 sudo chmod -x httpd 

或者简单地把它移到另一个地方。

有关启动顺序的更多信息,请访问: https : //wiki.archlinux.org/index.php/Arch_Boot_Process

它可能不是特定于您的发行版,但是在任何现代发行版中,这个过程通常是非常相似的。

编写一个在network / NetworkManagerhttpd之间运行的initscript。 有关更多详细信息,请参阅/usr/share/doc/initscripts-*/sysvinitfiles