Προς το περιεχόμενο

Script για relaunch προγράμματος


chek2fire

Προτεινόμενες αναρτήσεις

λες να το κάνω. Από τι κατάλαβ εσύ ότι έχεις εγκαταστήσει σου δουλεύει αντίθετα με μένα ότι έχω βάλει το bitcoind δεν λέει να ξεκινήσει. 

Και για πες μου step by step πως το εγκατέστησες?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • Απαντ. 88
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Για το runit λες; Δεν το δούλεψα σε ubuntu, αλλά σε voidlinux που τρέχει σαν init. Μπορεί να δουλέψει και σε Ubuntu, αλλά δεν το έχω δοκιμάσει εκεί.

Δες όμως το initscript που δίνω στο προηγούμενο post. Είναι για το upstart και χρησιμοποιεί το ίδιο εργαλείο που χρησιμοποιώ στο void. To πακέτο που το περιέχει το chpst είναι το runit.


Χμμμ... Τελικά δοκίμασα και το runit σε ubuntu. Δεν είναι καθόλου δύσκολο.

Επιγραμματικά:

  1. Εγκαθιστάς το πακέτο runit.
  2. Φτιάχνεις ένα upstart script για να το ξεκινάς και το αποθηκεύεις στο /etc/init/ με όνομα runit.conf. To περιεχόμενο του δικού μου είναι:
    description "runit"
    
    start on filesystem
    stop on shutdown
    
    respawn
    
    script
    exec runsvdir-start
    end script
  3. Φτιάχνεις έναν κατάλογο μέσα στον /etc/sv/ με όνομα bitcoind, ένα αρχείο run μέσα σε αυτόν με το περιεχόμενο που έδωσα πιο πάνω (τις 2 γραμμές) και το κάνεις εκτελέσιμο.
  4. Κάνεις link τον κατάλογο bitcoind μέσα στο /etc/service/ και ξεκινάς το upstart service του runit.

Μπορώ να γίνω και πιο αναλυτικός αν ενδιαφέρεται κάποιος.

Α! Να μην ξεχάσω... Θα πρέπει το upstart script για το bitcoind να απενεργοποιηθεί - σ' εμένα χρειάστηκε και να αφαιρέσω την κατάληξη conf.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

3. Δημιουργία καταλόγου bitcoind και αρχείου run:

sudo mkdir /etc/sv/bitcoind/
cd /etc/sv/bitcoind/
sudo touch run
sudo chmod +x run

Περιεχόμενα run (εννοείται για τον χρήστη μου):

#!/bin/sh
exec chpst -u mobinmob -n 9 env HOME=/home/mobinmob bitcoind

4. Symlinking:

sudo ln -s /etc/sv/bitcoind/ /etc/service/

Σταμάτημα bitcoind service (αν τρέχει) και απενεργοποίησή του εντελώς:

sudo service bitcoind stop
sudo mv /etc/init/bitcoind.conf /etc/init/bitcoind

Εκκίνηση της runit service του δεύτερου βήματος:

sudo service runit start

Εννοείται ότι για να πετύχει δεν πρέπει να τρέχει το bitcoind (ή το bitcoin-qt) με άλλον τρόπο.


Η όλη διαδικασία θα οδηγήσει σε ένα service που θα τρέχει το runsvdir του runit (για την ακρίβεια το script runsvdir-run που είναι προσαρμοσμένο για την διανομή) μέσω upstart και θα μπορεί να ελεγχθεί από τα εργαλεία του upstart και ένα runit service για τον bitcoind που θα μπορεί να ελεγχθεί με την εντολή sv:

sudo sv status bitcoind
sudo sv stop bitcoind
sudo sv start bitcoind

Edit: Διόρθωση δεύτερης εντολής...

Επεξ/σία από mobinmob
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ok θα το δοκιμάσω asap και ελπίζω να δουλέψει αυτό αυτή την φορά :P

 

το script αυτό το έχεις διαβάσει?

 

http://pastebin.com/qbmSNhWK

 

πως ξεκινάει αυτό σε κάθε resart του server? Στο λέω γιατί το έχω σε vps και δουλεύει άψογα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Ο κατάλογος /etc/service είναι μέρος του πακέτου runit. Αν το έχεις εγκαταστήσει πρέπει να υπάρχει.


Επίσης υπάρχει και upstart service για να ξεκινήσει το runit (runsvdir) στο ίδιο πακέτο οπότε δεν χρειάζεσαι το /etc/init/runit.conf  που έγραψα πρόχειρα. Το σβήνεις και τρέχεις sudo service service runsvdir start (αφού κάνεις τα υπόλοιπα).

Επεξ/σία από mobinmob
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και ναι δούλεψε αυτό και ξεκινάει αυτόματα στο boot :D. thx! Tώρα υπάρχει λες κάποιο script να το ελέγχει αν κρασάρει να το ξανακάνει relaunch?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και ναι δούλεψε αυτό και ξεκινάει αυτόματα στο boot :D. thx! Tώρα υπάρχει λες κάποιο script να το ελέγχει αν κρασάρει να το ξανακάνει relaunch?

To runit κανει process supervision - παρακολουθει το προγραμμα και αν κρασαρει το επανεκινει αυτοματα, δεν χρειαζεσαι κατι επιπλεον.

Με την εντολη sudo sv status bitcoind, σου λεει αν τρεχει, για ποσο και με πιο pid. Με την  sudo sv stop bitcoind σταματα, με την εντολη sudo sv start bitcoind ξεκινα (αυτα αν χρειαστει να το σταματησεις για αλλαγες στο config).

Μπορεις να κανεις και αλλα ωραια με το runit :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 2 εβδομάδες αργότερα...

Τώρα κάτι ποιο δύσκολο. Μια και αγόρασα πρόσφατα άλλο ένα vps server τούμπανο από weloveservers με πολύ λίγο κόστος είπα μαζί με τα άλλα που θα στήσω να βάλω και άλλο ένα bitcoin node. 

Προσπαθώ να το στήσω σύμφωνα με τις οδηγίες εδώ

 

http://pastebin.com/qbmSNhWK

 

το έχω κάνει ήδη σε άλλο node που έχω σε vps εδώ και ένα χρόνο εδώ

 

http://185.38.44.64/

 

και τα δύο node βασίζονται πάνω σε ubuntu 14.04 lts

Το θέμα είναι ότι με το δεύτερο μάλλον δεν δουλεύει το script και δεν μπορεί να τρέξει το python αρχείο που δημιουργείς όχι μόνο αυτόματα αλλά manual. Αν πάω να το τρέξω manual μου βγάζει αυτό εδώ

 

File "/usr/local/bin/btc-update.py", line 6, in <module>
    info = access.getinfo()
  File "/usr/local/lib/python2.7/dist-packages/bitcoinrpc/authproxy.py", line 134, in __call__
    'Content-type': 'application/json'})
  File "/usr/lib/python2.7/httplib.py", line 979, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 797, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 778, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
socket.error: [Errno 111] Connection refused
 
 
αλλά και ούτε το vnstat βλέπω με τα στοιχεία της σύνδεσης που το έχω φτιάξει στον άλλο server
 
 
και βλέπω ότι και άλλοι που δοκίμασαν πρόσφατα με τον οδηγό να στήσουν node έχουν το ίδιο πρόβλημα
 
 
αν δεν βρω άκρη μπορώ τουλάχιστον να σηκώσω αυτή την σελίδα που θα εμφανίζει τα στοιχεία με τις συνδέσεις του node και την σελλίδα του vnstat μόνος μου?
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...