Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: rc.local как заставить выполнятса при загрузке  (Прочитано 6646 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн perlito

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
    • perlito.ru
Добрый день.
У меня такая проблема.
Записал в /etc/rc.local пару строк, для того то бы некоторые скрипты запускались при загрузке.Однако этого оказалоь недостаточно.Команды в /etc/rc.local при загрузке не исполняются, по умолчанию этот файл ничего не делает.Так как его включить? Вот код /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/var/www/brend.my/script/brend_fastcgi.pl -l 127.0.0.1:8100 -d
/home/tigran/Documents/Development/perl/brend/script/brend_fastcgi.pl -l 127.0.0.1:8200 -d
exit 0

И что за execution bits?
« Последнее редактирование: 19 Августа 2012, 10:19:42 от perlito »
perlito.ru -> о perl на русском

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: rc.local как заставить выполнятса при загрузке
« Ответ #1 : 14 Августа 2012, 12:36:43 »
Вы хоть сами анализировали что куда пишите?
Чтобы меня не ругали за пустословие: внимание на первую строку указанного скрипта и на названия вызываемых скриптов

Оффлайн perlito

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
    • perlito.ru
Re: rc.local как заставить выполнятса при загрузке
« Ответ #2 : 14 Августа 2012, 17:42:31 »
Нет не анализировал, мне надо что бы эти команды (то есть эти скрипты именно с этими параметрами) запускались при запуске системы, мне на форуме посоветовали записать их в rc.local, что я и сделал.Притом запуск rc.local делает именно то что надо, но вот как сделать что бы он запускался автоматически? и через консоль это сделать, вот в чем вопрос. Поможете?
« Последнее редактирование: 14 Августа 2012, 17:48:05 от tiko.svyazist »
perlito.ru -> о perl на русском

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: rc.local как заставить выполнятса при загрузке
« Ответ #3 : 14 Августа 2012, 23:42:08 »
В скриптах описано, что это перловка?

Оффлайн nerde

  • Новичок
  • *
  • Сообщений: 48
  • Ubuntu 10.04
    • Просмотр профиля
Re: rc.local как заставить выполнятса при загрузке
« Ответ #4 : 15 Августа 2012, 15:43:19 »
Прошу прощения, если что не так. Потому что с Ubuntu ток знакомлюсь поближе :)
но мне кажется что еще нужно дописать sh перед скриптами, то есть:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sh /var/www/brend.my/script/brend_fastcgi.pl -l 127.0.0.1:8100 -d
sh /home/tigran/Documents/Development/perl/brend/script/brend_fastcgi.pl -l 127.0.0.1:8200 -d
exit 0


Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: rc.local как заставить выполнятса при загрузке
« Ответ #6 : 15 Августа 2012, 18:03:41 »
И что за execution bits?
Вот оноsudo chmod +x /var/www/brend.my/script/brend_fastcgi.pl
sudo chmod +x /home/tigran/Documents/Development/perl/brend/script/brend_fastcgi.pl
и пребудет Вам щастье

Оффлайн perlito

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
    • perlito.ru
Re: rc.local как заставить выполнятса при загрузке
« Ответ #7 : 19 Августа 2012, 09:00:23 »
Ребят да дело в том что если запустить /etc/rc.local вручную то скрипты записаные в нем нормально запускаются, но вот сам /etc/rc.local при загрузке не запускается.Вот как сделать что бы он при загрузке системы запускался?
perlito.ru -> о perl на русском

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: rc.local как заставить выполнятса при загрузке
« Ответ #8 : 19 Августа 2012, 09:19:14 »
Может скрипт стартует, но по каким-то переменным перловку вышибает.
Давайте попробуем поправить стартовые команды/var/www/brend.my/script/brend_fastcgi.pl -l 127.0.0.1:8100 -d > /var/log/brend_fastcgi.log 2>&1
/home/tigran/Documents/Development/perl/brend/script/brend_fastcgi.pl -l 127.0.0.1:8200 -d > /var/log/brend_fastcgi_1.log 2>&1
И после рубут смотреть в эти логи. Думаю там будет что-то интересное.

Оффлайн perlito

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
    • perlito.ru
Re: rc.local как заставить выполнятса при загрузке
« Ответ #9 : 19 Августа 2012, 10:17:19 »
Да действительно в логах есть кое что, Спасибо.

На моей Ubuntu 12.04 я поставил perl версии 5.16, и по команде perl -V выдается следующий список @INC

    /usr/local/lib/perl5/site_perl/5.16.0/i686-linux
    /usr/local/lib/perl5/site_perl/5.16.0
    /usr/local/lib/perl5/5.16.0/i686-linux
    /usr/local/lib/perl5/5.16.0

А при перезапуске системы в логах пишет

Can't locate Catalyst/ScriptRunner.pm in @INC
 (@INC contains:
      /etc/perl /usr/local/lib/perl/5.14.2
      /usr/local/share/perl/5.14.2
      /usr/lib/perl5 /usr/share/perl5
     /usr/lib/perl/5.14
     /usr/share/perl/5.14
     /usr/local/lib/site_perl .)
    at /var/www/brend.my/script/brend_fastcgi.pl line 3.
BEGIN failed--compilation aborted at /var/www/brend.my/script/brend_fastcgi.pl line 3.


То есть почему то при перезапуске системы меняется список @INC
Как это исправит?
Спасибо.
perlito.ru -> о perl на русском

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: rc.local как заставить выполнятса при загрузке
« Ответ #10 : 19 Августа 2012, 10:21:06 »
Здесь я Вам уже не помогу. Бум ждать гуру в перловке. Я вижу только, что пути разные.
Возможно Вы perl 5.16 только для соего пользователя поставили, а общесистемный остался 5.14

Оффлайн perlito

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
    • perlito.ru
Re: rc.local как заставить выполнятса при загрузке
« Ответ #11 : 19 Августа 2012, 11:57:57 »
Решил проблему следующим образом

Нашел где лежит perl5.16 и скопировал оттуда файлы perl и perl5.16.0 в /usr/bin/.
сработало  :)

Всем спасибо
perlito.ru -> о perl на русском

Оффлайн s8ss8s

  • Участник
  • *
  • Сообщений: 246
    • Просмотр профиля
Доброго времени суток !

Подскажите как сделать запуск скриптов при загрузке сервера через rc.local ???

я что бы запустить скрипты через терминал пишу следующие команды

iptables -A INPUT -p tcp --dport 7777 -j ACCEPT

cd /var/www/site && ./start

cd /var/www/site2 && ./start

у меня при этом запускается все запускается нормально без проблем в rc.local я вписывал так

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

iptables -A INPUT -p tcp --dport 7777 -j ACCEPT
cd /var/www/site && ./start
cd /var/www/site2 && ./start

exit 0

подскажите пожалуйста как мне правильно сделать что бы все запускалось при запуске сервера ???

ЗЫ что бы вопросов не было про порт зачем я его каждый раз открываю просто после перезапуска сервака порт почему то не хочет открываться и он начинает работать после этой iptables -A INPUT -p tcp --dport 7777 -j ACCEPT команды
« Последнее редактирование: 04 Мая 2013, 10:19:04 от s8ss8s »
Мда linux вроде и все просто но разбираться в нем и разбираться  :idiot2:


Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
s8ss8s,

Цитировать
cd /var/www/site && ./start
su www-data -c "bash -c \"cd /var/www/site && ./start\""
Wars ~.o

 

Страница сгенерирована за 0.02 секунд. Запросов: 21.