Jump to content

Автозагрузка в Ubuntu


gorserg

Recommended Posts

Posted

Прошу помочь спецов по Linux. 

Есть скрипт который необходимо автозагружать в Ubuntu. Из терминала стартует через sudo. Из автозагрузки никак не хочет. Пробовал и через update-rc.d, и через rc.local - не хочет

Помогите разобраться плз.

Posted (edited)

Разрешение на исполнение стоит ? Содержимое скрипта можно ?

1. Нужно создать фай с командами,которые нужно стартануть при запуске системы.

sudo nano /etc/init.d/autostart.script     autostart.script не должен совпадать по имени уже существующих фалов в папке /etc/init.d/.

Первая строка в файле должна быть указана какая оболочка используется. Если хочешь использовать теже команды,что и в терминале, тады файл начинается со строки #!/bin/bash

2. Нужно дать разрешения на исполнение фала 

sudo chmod +x /etc/init.d/autostart.script

3.Записываем в систему о запуске

sudo update-rc.d autostart.script defaults 95 (95 это порядок испонения)

4. Всё

Edited by AskazkaA
Posted (edited)

Если через 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.
/usr/bin/python /home/user/p2pool-arc/run_p2pool.py --net arcticcoin --give-author 0 --fee 1.0 --address хххххххххххххххххххххххххххххх > /dev/null 2>/dev/null &
exit 0
 
Скрипт стартует пул на питоне.
Разрешения наверное есть, если он обычным образом стартует, правда только через sudo.
Просто даже если эту строчку пишу
sudo /usr/bin/python /home/user/p2pool-arc/run_p2pool.py --net arcticcoin --give-author 0 --fee 1.0 --address хххххххххххххххххххххххххххххх > /dev/null 2>/dev/null &
всё запускается после ввода пароля
Edited by gorserg
Posted (edited)

Делайте проще и правильней:

 

создать в /etc/init файл для вашего демона, например mydaemon.conf

 

в него прописать:

# My daemon
description "My best daemon"

env DAEMON=/usr/bin/python
env CONFIG="/home/user/p2pool-arc/run_p2pool.py --net arcticcoin --give-author 0 --fee 1.0 --address хххххххххххххххххххххххххххххх"

start on filesystem or runlevel [2345]
stop on runlevel [!2345]

setuid user
setgid user

kill signal INT

respawn
respawn limit 10 5
umask 022

pre-start script
        test -x $DAEMON || { stop; exit 0; }
end script

# Start
script
        exec $DAEMON $CONFIG
end script

Вместо user укажите пользователя под которым будет работать демон.

Управление службой стандартное:

sudo service mydaemon start

sudo service mydaemon status

sudo service mydaemon stop

 

Все логи пишутся в /var/log/upstart/mydaemon.log

Всего!

Edited by Arrivan
Posted (edited)

 

Сделал:
 sudo service start mydaemon
[sudo] password :
start: unrecognized service

 

env CONFIG="/home/user/p2pool-arc/run_p2pool.py --net arcticcoin --give-author 0 --fee 1.0 --address хххххххххххххххххххххххххххххх"

 

Проверьте кавычки в CONFIG, иначе параметры передаются не корректно.

Если не запускается - покажите последние строки из /var/log/upstart/mydaemon.log

Edited by Arrivan
Posted
run_p2pool.py: error: arcticcoin configuration file not found. Manually enter your RPC password.

If you actually haven't created a configuration file, you should create one at /root/.arcticcoin/arcticcoin.conf with the text:

server=1

rpcpassword=хххххххххххххххххххххххххххххххххххх

Keep that password secret! After creating the file, restart arcticcoin.

Posted

Поставил вместо root своего пользователя, лог изменился:

 

Traceback (most recent call last):
  File "/home/user/p2pool-arc/run_p2pool.py", line 5, in <module>
    main.run()
  File "/home/user/p2pool-arc/p2pool/main.py", line 674, in run
    logfile = logging.LogFile(args.logfile)
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 26, in __init__
    self.reopen()
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 30, in reopen
    open(self.filename, 'a').close()
IOError: [Errno 13] Permission denied: '/home/user/p2pool-arc/data/arcticcoin/log'
Traceback (most recent call last):
  File "/home/user/p2pool-arc/run_p2pool.py", line 5, in <module>
    main.run()
  File "/home/user/p2pool-arc/p2pool/main.py", line 674, in run
    logfile = logging.LogFile(args.logfile)
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 26, in __init__
    self.reopen()
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 30, in reopen
    open(self.filename, 'a').close()
IOError: [Errno 13] Permission denied: '/home/user/p2pool-arc/data/arcticcoin/log'
Posted

 

Поставил вместо root своего пользователя, лог изменился:

 

Traceback (most recent call last):
  File "/home/user/p2pool-arc/run_p2pool.py", line 5, in <module>
    main.run()
  File "/home/user/p2pool-arc/p2pool/main.py", line 674, in run
    logfile = logging.LogFile(args.logfile)
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 26, in __init__
    self.reopen()
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 30, in reopen
    open(self.filename, 'a').close()
IOError: [Errno 13] Permission denied: '/home/user/p2pool-arc/data/arcticcoin/log'
Traceback (most recent call last):
  File "/home/user/p2pool-arc/run_p2pool.py", line 5, in <module>
    main.run()
  File "/home/user/p2pool-arc/p2pool/main.py", line 674, in run
    logfile = logging.LogFile(args.logfile)
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 26, in __init__
    self.reopen()
  File "/home/user/p2pool-arc/p2pool/util/logging.py", line 30, in reopen
    open(self.filename, 'a').close()
IOError: [Errno 13] Permission denied: '/home/user/p2pool-arc/data/arcticcoin/log'

 

Вот и нашлась ошибка: указать нужно пользователя под которым у вас должен работать демон и сохранены все настройки. Как я понял у вас это user.

Теперь из-за того что вы пытались запустить под рутом у вас сбились права на файлы. Подправить нужно этой командой:

sudo chown -cR user: /home/user

Posted

Вот и нашлась ошибка: указать нужно пользователя под которым у вас должен работать демон и сохранены все настройки. Как я понял у вас это user.

Теперь из-за того что вы пытались запустить под рутом у вас сбились права на файлы. Подправить нужно этой командой:

sudo chown -cR user: /home/user

Спасибо заработал. 

Но почему-то на команды

sudo service start mydaemon

sudo service status mydaemon

sudo service stop mydaemon

 

По прежнему выдает 

start: unrecognized service

Так должно быть?

 

И еще по логам. Он там пишет очень много всего в процессе работы. Можно как-то его ограничить в размере, чтобы переписывал только актуальное, к примеру в течении 24 часов?

Posted (edited)

Спасибо заработал. 

Но почему-то на команды

sudo service start mydaemon

sudo service status mydaemon

sudo service stop mydaemon

 

По прежнему выдает 

start: unrecognized service

Так должно быть?

 

И еще по логам. Он там пишет очень много всего в процессе работы. Можно как-то его ограничить в размере, чтобы переписывал только актуальное, к примеру в течении 24 часов?

А вы его как назвали, mydaemon? Как в примере?

sudo service mydaemon status что сообщает?

Обычно такой ошибки быть не должно, в самом начале лог файла он пишет в какой строке вашего conf файла ошибка (если есть).

Из rc.local и прочих старых автозапусков отключили запуск вашего скрипта?

Логи автоматически сжимаются и удаляются, правила ротации этих логов настроены в /etc/logrotate.d/upstart

По-умолчанию раз в сутки отрезается, сжимается и хранится за последние 7 дней.

Edited by Arrivan
Posted

А вы его как назвали, mydaemon? Как в примере?

sudo service status mydaemon что сообщает?

Обычно такой ошибки быть не должно, в самом начале лог файла он пишет в какой строке вашего conf файла ошибка (если есть).

Из rc.local и прочих старых автозапусков отключили запуск вашего скрипта?

Логи автоматически сжимаются и удаляются, правила ротации этих логов настроены в /etc/logrotate.d/upstart

По-умолчанию раз в сутки отрезается, сжимается и хранится за последние 7 дней.

Нет. Обозвал arcpool.

~$ sudo service start arcpool
start: unrecognized service
~$ sudo service stop arcpool
stop: unrecognized service
 
И команды не работают. Но при старте запускается. Из rc.local и прочих старых автозапусков отключил.
Posted

Тот arcticcoin который с премайном в 20 млн. монет?

 

Запускаю по сложному, неправильному способу, из rc.local:

su - user -c 'screen -dmS p2parc /home/user/p2p-arc/run_p2pool.py --net arcticcoin --give-author 0 -f 1.0 -a AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' > /dev/null 2>/dev/null &

Мало что в этой конструкции понимаю, главное работает.

 

 

Делайте проще и правильней:

 

создать в /etc/init файл для вашего демона, например mydaemon.conf

Осилить бы вот это, было бы чисто и красиво в системе!

Posted

~$ sudo service start arcpool

# service arcpool start 

Семён Семёныч  :lol:

Сначала имя сервиса, потом команда старт/стоп.

Posted

/usr/bin/python /home/user/p2pool-arc/run_p2pool.py --net arcticcoin --give-author 0 --fee 1.0 --address хххххххххххххххххххххххххххххх > /dev/null 2>/dev/null &

 
ИМХО, чтобы понять что происходит, надо писать вывод в лог:
... > /tmp/pool.log 2>/tmp/pool.log &

 

Просто даже если эту строчку пишу
sudo /usr/bin/python /home/user/p2pool-arc/run_p2pool.py --net arcticcoin --give-author 0 --fee 1.0 --address хххххххххххххххххххххххххххххх > /dev/null 2>/dev/null &
всё запускается после ввода пароля
А выполнение этой команды происходит не находясь в папке пула, т.е. в /home/user/p2pool-arc?
Posted

Тот arcticcoin который с премайном в 20 млн. монет?

 

Запускаю по сложному, неправильному способу, из rc.local:

su - user -c 'screen -dmS p2parc /home/user/p2p-arc/run_p2pool.py --net arcticcoin --give-author 0 -f 1.0 -a AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' > /dev/null 2>/dev/null &

Мало что в этой конструкции понимаю, главное работает.

 

 

Осилить бы вот это, было бы чисто и красиво в системе!

Осилил. Спасибо Arrivan. Все работает. Все остальные способы не дают результата.

# service arcpool start 

Семён Семёныч  :lol:

Сначала имя сервиса, потом команда старт/стоп.

Точно. Так работает.

 

ИМХО, чтобы понять что происходит, надо писать вывод в лог:
... > /tmp/pool.log 2>/tmp/pool.log &

 

А выполнение этой команды происходит не находясь в папке пула, т.е. в /home/user/p2pool-arc?

 

Да. Такой строчкой из терминала запускается и работает из любого места.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • nuxhash для Linux Ubuntu

      у меня почемуто не хочет работать nuxhash для linux ubuntu. При команде nuxhashd высвечивается следующее:  Traceback (most recent call last):   File "/usr/local/bin/nuxhashd", line 8, in <module>     sys.exit(nuxhashd())   File "/usr/local/lib/python3.8/dist-packages/nuxhash/__init__.py", line 3, in nuxhashd     main()   File "/usr/local/lib/python3.8/dist-packages/nuxhash/daemon.py", line 103, in main     nx_benchmarks = run_missing_benchmarks(   File "/usr/local/lib/py

      in Программы для майнинга

    • Проблема при переводе рига на ubuntu 18.04

      Добрый день, товарищи. Нужен ваш совет. История моя такова: изначально на риге из 13-и 574 карт стояла ubuntu 16.04. Драйвера 17.50 c опциями --opencl=legacy --headless. В grub прописывал GRUB_CMDLINE_LINUX_DEFAULT="text".  Был сделан автологин в консоль. Риг работал/перезагружался полностью удаленно через putty. К ригу не был подключен монитор/заглушка.    Собственно неделю назад после аварийного отключения питания начал получать ошибку Segmentation fault (core dumped). Удаленно решит

      in Общие вопросы по майнингу

    • Ubuntu опасна, как и Windows. Так доказал ютубер Gennady M

      Я пробовал много систем. Очень понравился DEEPIN, но из-за симпатичности и работоспособности. Более практичные дистрибутивы встречал у manjaro, solus, ubuntu. Пока остановился на SOLUS, но как-то тянет на ubuntu т.к. там изначально можно поставить минимальный набор программ. А вот после ролика "Как вы потеряете все биткоины" на канале Gennady M... слов нет. Тут надо систему себе из железок до 2006 года собрать и линукс накатить не от canonical. Я не специалист в железках, программах, но и ведущи

      in Флейм

    • Mining Beam | Linux | Ubuntu

      Запустил ноду, майнер. Копает уже 10 дней. На кошелек. Все под Ubuntu 16.04 LTS. Все запущено согласно официальной документации.  Синхронизирую кошелек. Баланс- ноль. В чем проблема? Сталкивался кто нибудь?

      in Общие вопросы по майнингу

    • Велика ли разница в уязвимости Windows 7 и Ubuntu, если только синхронизировать кошельки и отправлять/получать монетки?

      У меня отдельно выделенная машина под криптовалюты. Стоит зашифрованная Ubuntu 18.10 с холодными кошельками. На ней я мониторю приход и отправку криптовалюты. Никаких браузеров, антивирусов и файерволов. Работу с биржами осуществляю с линукса, но с флешки(Live CD) на обычном пк, который идёт под всякие нужды(работа/игрушки/фильмы/сёрфинг/общение). Правда, в BIOS я отключаю SSD и HDD перед загрузкой Live CD.  Но вот столкнулся с кошельком криптовалюты ADA, который называется Daedalus. Затруд

      in Безопасность

×
×
  • Create New...