Problem beim Ausführen von cgminer von crontab

Ich versuche, den Start von cgminer basierend auf einer Crontab zu skripten.

Verwenden eines crontab-Eintrags, der ein Bash-Shell-Skript auslöst, das cgminer startet. Wenn Sie das Skript direkt ausführen, wird cgminer fehlerfrei gestartet. Wenn Sie das Skript von crontab ausführen, wird immer der Fehler "no gpus usable" angezeigt.

Ich habe dreifach überprüft, ob alle Vars gesetzt sind (DISPLAY, GPU_MAX_ALLOC_PERCENT, GPU_USE_SYNC_OBJECTS=1), ob die Pfade korrekt sind usw.

Der Eintrag ist in der crontab abrufbar (sudo -s).

Irgendwelche Hinweise, was falsch sein könnte?

Auch hier werden Treiber und SDK korrekt installiert, da alles korrekt funktioniert, wenn ich das Skript manuell starte.

Das Skript startet cgminer mit einem einfachen cmd :

cd dir_where_cgminer_is_stored 
./cgminer -c /folder/myconfig.conf

Danke

Ich denke, Sie sollten angemeldet sein und Xserver sollte gestartet werden, bevor Sie cgminer starten können.
Crontab wird normalerweise für wiederholte Jobs verwendet
@ArtShayderov Es ist sinnvoll, einen Miner zu bestimmten Zeiten (z. B. während Ihrer Schlafpause) zu starten.
Werfen Sie einen Blick in die Dokumentation von Cron (Manpage?) und finden Sie die Protokollierung. Es besteht die Möglichkeit, dass es Probleme bei der Kommunikation mit dem X-Server oder ein anderes benutzer-/berechtigungsbezogenes Problem gibt. In diesem Fall wird Ihnen wahrscheinlich eine Fehlermeldung angezeigt, die Sie in die richtige Richtung weist. Um auf die Beine zu gehen: Startet Cron es als Benutzer mit Berechtigungen zum Zugriff auf /folder/myconfig.conf? Hat dieser Benutzer über Ihre DISPLAY-Umgebungsvariable Zugriff auf X? Verwendet cron wirklich die Umgebungsvariablen, die Sie zum Starten Ihrer Shell-Befehle eingerichtet haben? Wird tatsächlich eine Shell gestartet, um sie auszuführen? ...?
Danke Pyramiden, ich wusste nicht, dass root die X-Sitzung eines anderen Benutzers nicht verwenden kann.

Antworten (1)

Tatsächlich habe ich vergessen, cgminer mit dem Benutzer zu starten, der X ausführt (automatisch eingeloggt).

Tun

su user_running_the_x_session -c "/home/user/mine.sh"

funktionierte perfekt.

Übrigens, Art Shayderov, ja, Cron wird für wiederholte Jobs verwendet, wie zum Beispiel den, von dem ich hier spreche;)

Oh, richtig. Ich verwende selbst dedizierte Rigs und es ist wirklich schwierig, aus der Sicht einer anderen Person / eines anderen Anwendungsfalls zu schauen. Ich dachte: "Warum sollte jemand sein Rig ein- und ausschalten wollen?". Jetzt sehe ich. Es ist kein dediziertes Rig.
Eigentlich ist es ein dediziertes Rig. Aber ich führe einen Cron aus, um regelmäßig zu überprüfen, ob cgminer ausgeführt wird, ihn bei Bedarf neu zu starten und neue Einstellungen von einem Server herunterzuladen, wenn sie sich ändern.
Wenn dies ein dediziertes Rig ist, warum sollten Sie cgminer regelmäßig überprüfen? Warum nicht einen Hintergrundprozess haben, der cgminer jederzeit überwacht? Versuchen Sie, CPU-Zyklen zu sparen? Ich leite die Ausgabe von "tail -f cgminer.log" an das Ruby-Skript weiter. Ich sage nicht, dass dies ideal ist, aber tail -fes verwendet inotify unter Linux und ist ziemlich effizient, wenn das Ihr Anliegen ist.