2014-12-10 2 views
0

Я использую Amazon аромат LinuxTrouble работает statrup скрипт на Linux

uname -a 
Linux mydomain.org 3.19.25-82.99.amzn1.x86_64 #1 SMP Wed Dec 3 21:29:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 

и я хочу, чтобы выполнить следующий сценарий После перезагрузки системы ...

ls -al /home/davea/install/apache-tomcat-6.0.35/bin/startup.sh 
-rwxr-xr-x 1 davea mycompany 2023 Nov 28 2011 /home/davea/install/apache-tomcat-6.0.35/bin/startup.sh 

Так что я создал этот файл,

-rwxr-xr-x 1 root root 73 Dec 10 19:29 /etc/init.d/start_tomcat 

с линиями

#!/bin/sh 

sh /home/davea/install/apache-tomcat-6.0.35/bin/startup.sh 

Однако, когда я перезагружаю свою систему, этот скрипт не вызывается. Какие шаги я упустил? не могу запустить скрипт штраф в командной строке, когда я вошел в

Edit:. Кроме того, я создал эту символическую ссылку в /etc/rc.d ...

ls -al /etc/rc.d/start_tomcat 
lrwxrwxrwx 1 root root 24 Dec 10 19:29 /etc/rc.d/start_tomcat -> /etc/init.d/start_tomcat 

Еще нет удачи.

ответ

0

Вы должны добавить начальный скрипт под init.d к вашему уровню выполнения по умолчанию.

sudo update-rc.d /etc/init.d/start_tomcat defaults 

Который должен создавать символические ссылки на ваш скрипт в соответствующей папке /etc/rc?.d (ов).

+0

Где жить обновление-rc.d? Когда я попробую команду, которую вы указали, я получаю сообщение «sudo: update-rc.d: command not found». –

+0

@DaveA Это '/ usr/sbin/update-rc.d' здесь. Как я уже сказал, все, что делает скрипт, создает символические ссылки в /etc/rc?.d –

+0

Даже у меня нет файла /usr/sbin/update-rc.d, я создал символическую ссылку (см. Мое редактирование). К сожалению, тот же результат (сценарий не запускается, а сервер не запущен) –

0

Это зависит от того, какая программа запуска используется. Если у вас есть привилегии, чтобы сделать это, и если звезда вверх программа является программой chkconfig ваш и т.д./init.d/запустить скрипт должен последовать его примеру в том, что вам нужны такие поля заголовка, как:

# chkconfig: <levels> <start> <stop> 
    # description: <some description> 

Для других программ, как systemctl (RedHat/Fedora) вам необходимо создать файл с директивами в нем в следующей папке:

/etc/systemd/system/ 

вы обычно сделать файл с именем serviceName.service со следующими записями:

[Unit] 
Description=MyApp 

[Service] 

ExecStart=/path/to/myService/executable.sh 

[Install] 
WantedBy=multi-user.target 

Затем запустите:

sudo systemctl enable /etc/systemd/system/hello.service 
sudo systemctl start hello.service 

Если это LSB (Linux Standards Based) OS/Startup вы должны следовать ниже учебника:

https://wiki.debian.org/LSBInitScripts

 Смежные вопросы

  • Нет связанных вопросов^_^