rc.local запускает файл .sh в неправильном каталоге

Помимо замечательного, упомянутого Rinzwind, в Ubuntu 12.04 я нашел:

Varnish

Varnish - это ускоритель веб-приложений. Вы устанавливаете его перед своим веб-приложением, и это значительно ускорит его.

Varnish - это ускоритель HTTP, предназначенный для контент-тяжелых динамических веб-сайтов. В отличие от других ускорителей HTTP, таких как Squid, которые начали работать как клиентский кеш, или Apache и nginx, которые в основном являются исходными серверами, Varnish был разработан с нуля в качестве ускорителя HTTP. Varnish ориентирован исключительно на HTTP, в отличие от других прокси-серверов, которые часто поддерживают FTP, SMTP и другие сетевые протоколы.

https://www.varnish-cache.org/

3
задан 12 May 2012 в 02:15

2 ответа

Ваш скрипт не содержит никакой команды для установки текущего каталога, поэтому он запускается в том же каталоге, что и вызванный им процесс. Когда он выполняется из rc.local, который выполняется из init, текущий каталог является корневым каталогом /.

Добавьте cd /direc/tory/ в свой скрипт. Кстати, обратите внимание, что #!/bin/sh (#!bin/sh работает здесь только потому, что вы выполняете свой скрипт из корневого каталога, это очень плохая идея, чтобы полагаться на это.)

#!/bin/sh
set -e
cd /direc/tory
wget "http://somesite.org/someJava.jar" -O someJavaFile.jar
java -d64 -Xincgc -Xmx512M -jar someJavaFile.jar

Я также добавил set -e в сценарий. Это заставляет его останавливаться, если одна из команд выходит из строя. Например, если wget не может загрузить банку, тогда java не будет выполняться.

4
ответ дан 25 May 2018 в 11:33
  • 1
    вы говорите, что я не должен использовать #! bin / sh в моем сценарии оболочки? – Fate 12 May 2012 в 02:33
  • 2
    @Fate Да, всегда используйте #!/bin/sh (или #!/usr/bin/perl или #!/direc/tory/myinterpreter или что-то подходящее), с полным путем. – Gilles 12 May 2012 в 02:35
[F1]
1
ответ дан 25 May 2018 в 11:33
  • 1
    Спасибо, Жиль. Я споткнулся, пытаясь понять форматирование, но ничего не выглядело правильно. – Matt Barnes 12 May 2012 в 02:17

Другие вопросы по тегам:

Похожие вопросы: