Мне нужно загрузить файл из внешнего местоположения, например http://s3.amazonaws.com/my-bucket/config.xml а затем сохраните этот файл в /etc/config.xml при запуске сервера.
Как лучше всего сделать это в Fedora?
Я предполагаю, что мне нужен скрипт загрузки, так как это нужно делать при каждом перезапуске / запуске.
Чтобы уточнить, процесс будет следующим:
Вы можете просто поместить команды в /etc/rc.local
. Этот сценарий запускается в конце процесса загрузки, поэтому ваши сетевые интерфейсы и настройки будут инициированы. Возможно, вам придется отключить существующий сценарий запуска httpd (который, вероятно, находится в /etc/init.d
), сделав его неисполняемым:
sudo chmod -x httpd
Или просто переместив его в другое место.
Более подробную информацию о последовательности загрузки можно найти по адресу: https://wiki.archlinux.org/index.php/Arch_Boot_Process
Это может быть не специфично для вашего дистрибутива, но процесс обычно очень похож на любой современный дистрибутив.
ты можешь использовать 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, вам нужно будет отключить httpd при запуске с помощью команды chkconfig, например.
chkconfig httpd off
Напишите начальный скрипт, который будет выполняться между network
/NetworkManager
и httpd
. Видеть /usr/share/doc/initscripts-*/sysvinitfiles
Больше подробностей.