Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Probleme mit rvm und cron.. :(
BeitragVerfasst: 04 Jan 2012, 19:14 
Offline
Nuby

Registriert: 04 Jan 2012, 19:07
Beiträge: 4
Hi,

bin völlig neu hier und fast am verzweifeln. Bisher habe ich in einigen Foren gefragt aber nirgendwo konnte mir jemand helfen... Ich hoffe, dies hat jetzt ein Ende. :mrgreen:

Mein Problem habe ich hier mal zusammen gefasst, damit ich es nicht immer neu schreiben muss:
https://gist.github.com/1560831

Trotzdem noch kurz die 3 wichtigsten Dinge:
Ich möchte ein Script (/root/SiriProxy/SiriProxy_Upstart.sh) per Cronjob automatisch ausführen, wenn der Server bootet (@reboot). Das Script sieht so aus:
Zitat:
#!/bin/bash
# while true; do
/usr/local/rvm/bin/rvmsudo siriproxy server
# done
(Die 2. und letzte Zeile sind nur ausgeklammert, damit die log (s. Cron) nicht mit den Fehlern zugeflutet wird.)

Der Fehler, den ich bei dem o. g. Script erhalte, ist folgender:
Zitat:
/usr/bin/env: siriproxy: No such file or directory


Mit folgendem Cronjob (crontab -e) führe ich das Script aus:
Zitat:
@reboot cd /root/SiriProxy; ./SiriProxy_Upstart.sh > /root/SiriProxy/siriproxy.log 2>&1


Wenn ich das Script mit PuTTy ausführe, läuft alles fehlerfrei, bis ich PuTTy beende... Wie bekomme ich es per Cron zum Laufen?? :'(


Vielen, vielen Dank schonmal!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 04 Jan 2012, 19:23 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1412
Wohnort: NRW → UN
Cron fummelt an deinem PATH rum, da habe ich auch schon oft genug Ärger mit gehabt. Lösung: PATH selbst setzen.

#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH
while true; do
/usr/local/rvm/bin/rvmsudo siriproxy server
done

Vale,
Quintus

EDIT: Zur Erklärung:
jonny hat geschrieben:
/usr/bin/env: siriproxy: No such file or directory
Das ist eine Fehlermeldung von env, dass es siriproxy nicht finden kann. Da es direkt von der Kommandozeile läuft, bin ich darauf gekommen, dass da was mit dem PATH nicht in Ordnung ist.

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Mein Blog | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: BF3A 614B D62B A4A0 C292 141C B875 5CB1 C592 A85A

Helft beim OpenRubyRMK, einem freien Programm zum erstellen von RPGs! (→ GitHub-Projekt)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 04 Jan 2012, 20:05 
Offline
Nuby

Registriert: 04 Jan 2012, 19:07
Beiträge: 4
Hallo,

danke, für die flotte Antwort. Habe das Script folgendermaßen getestet:
Zitat:
#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH
#while true; do
/usr/local/rvm/bin/rvmsudo siriproxy server
#done


Das Ergebnis bleibt leider das Gleiche:
Zitat:
/usr/bin/env: siriproxy: No such file or directory


Noch eine Idee? :oops:

UPDATE:
Mit den 2 Zeilen, die du genannt hast, funktioniert das Script dann auch nicht mehr über PuTTy. Wenn ich die 2 Zeilen wieder entferne, funktioniert es wieder...
Zitat:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
export PATH


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 04 Jan 2012, 21:46 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1412
Wohnort: NRW → UN
Jonny hat geschrieben:
Mit den 2 Zeilen, die du genannt hast, funktioniert das Script dann auch nicht mehr über PuTTy. Wenn ich die 2 Zeilen wieder entferne, funktioniert es wieder...
Probier mal stattdessen PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH
export PATH

Zuvor wurde dein PATH einfach überschrieben, jetzt werden einfach nur Verzeichnisse hinzugefügt. Vielleicht ist das besser[1].

Vale,
Quintus

[1] Zur Information: Die Umgebungsvariable PATH listet alle Verzeichnisse, in denen nach ausführbaren Dateien gesucht wird.

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Mein Blog | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: BF3A 614B D62B A4A0 C292 141C B875 5CB1 C592 A85A

Helft beim OpenRubyRMK, einem freien Programm zum erstellen von RPGs! (→ GitHub-Projekt)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 04 Jan 2012, 22:07 
Offline
Nuby

Registriert: 04 Jan 2012, 19:07
Beiträge: 4
Mein Script sieht jetzt so aus:
Zitat:
#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH
export PATH
#while true; do
/usr/local/rvm/bin/rvmsudo siriproxy server
#done


Fehler:
Zitat:
/usr/bin/env: siriproxy: No such file or directory


Leider also immernoch nicht. :'( Habe nun noch *das hier* gefunden, ich weiß nicht, ob es hilft (vielleicht kommt darin ein wichtiger Pfad vor?) aber vielleicht kann hier jemand was damit anfangen :D

Wenn noch irgendwelche Variablen oder Angaben hilfreich sind, gebt bitte bescheid! :)

UPDATE:
Vielleicht hilft das auch weiter:
Zitat:
root@v22011121099xxx:~# echo $PATH
/usr/local/rvm/gems/ruby-1.9.3-p0/bin:/usr/local/rvm/gems/ruby-1.9.3-p0@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p0/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


UPDATE 2:
Habe noch folgendes gefunden:
Zitat:
You need to source rvm in the script before calling rvmsudo siriproxy

Kann von euch jemand was damit anfangen? :)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 05 Jan 2012, 16:00 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1412
Wohnort: NRW → UN
Hm. Ich muss dazu sagen, ich benutze RVM nicht. Nichtsdestotrotz bin ich mir recht sicher, dass es irgenwas mit dem PATH zu tun hat. Ich will jetzt aber keine Falschinformationen geben, daher hoffe ich einfach mal, dass jemand anders da mehr zu sagen kann. Sorry, dass ich dir da nicht weiterhelfen kann. :oops:

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Mein Blog | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: BF3A 614B D62B A4A0 C292 141C B875 5CB1 C592 A85A

Helft beim OpenRubyRMK, einem freien Programm zum erstellen von RPGs! (→ GitHub-Projekt)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 05 Jan 2012, 16:51 
Offline
Interpreter
Benutzeravatar

Registriert: 21 Mai 2007, 11:30
Beiträge: 1231
Wohnort: Thüringen
Hm, also wenn ich rvm innerhalb eines Programms (z.B. eines Editors) nutzen wollte, musste ich zuvor erst die rvm Umgebung laden. Ich hab aber auch nicht mehr so in Erinnerung, wie das ging. Schau dir am besten mal die Anleitung von rvm an:
http://beginrescueend.com/workflow/scripting/

So wie ich das verstehe ist der Befehl dafür also:
source "pfad_zu_rvm/scripts/rvm"


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 06 Jan 2012, 02:02 
Offline
Nuby

Registriert: 04 Jan 2012, 19:07
Beiträge: 4
:'(
Zitat:
#!/bin/bash

[[ -s /usr/local/rvm/scripts/rvm ]] && source /usr/local/rvm/scripts/rvm
[[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm

rvmsudo siriproxy server


Das funktioniert leider auch nicht... Oder habe ich jetzt noch einen Fehler gemacht? :/

Wie gesagt, über PuTTy mit funktioniert alles, wenn ich das Script direkt aufrufe: ./SiriProxy_Upstart.sh


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 06 Jan 2012, 12:11 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1709
Hast du mal geprüft, ob rvm in dem Verzeichnis

/usr/local/rvm/scripts/rvm oder
$HOME/.rvm/scripts/rvm

liegt?

Und du musst beide Antworten kombinieren.
1.) export PATH=/usr/local/rvm/gems/ruby-1.9.3-p0/bin:/usr/local/rvm/gems/ruby-1.9.3-p0@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p0/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2.) source /path/to/rvm
[3.)] rvm use rubyversion@gemset

Die Reihenfolge ist auch wichtig.

Edit: Auch wenn du eine .rvmrc hast, musst du trotzdem das use ausführen,
weil rvm erst lädst, wenn du schon im Path bist, wo höchst wahrscheinlich
deine .rvmrc liegt

_________________
Grüße
Jack


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 06 Jan 2012, 17:35 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1412
Wohnort: NRW → UN
Auf Ruby-Talk kursiert gerade ebenfalls ein Cron-verwandtes Problem (allerdings ohne RVM). Ryan Davis hat dort einen Tipp gegeben, wie man eine Shell bekommt, die dieselben Eingenschaften wie die von Cron gestartete aufweist.

Ich wiederhole das hier einfach mal: $ env -i $SHELL --norc soll dir angeblich eine solche Shell geben. Probiere mal deine Kommandos dadrin auszuführen.

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Mein Blog | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: BF3A 614B D62B A4A0 C292 141C B875 5CB1 C592 A85A

Helft beim OpenRubyRMK, einem freien Programm zum erstellen von RPGs! (→ GitHub-Projekt)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Probleme mit rvm und cron.. :(
BeitragVerfasst: 06 Jan 2012, 17:58 
Offline
Interpreter

Registriert: 10 Dez 2007, 17:37
Beiträge: 1709
Ob es --norc gibt, hängt aber davon ab, welche SHELL man benutzt. Da viele Bash oder ähnliche verwenden,
sollte das meist klappen.

_________________
Grüße
Jack


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: