Problema al ejecutar cgminer desde crontab

Intento crear un script para el lanzamiento de cgminer basado en un crontab.

Usando una entrada crontab que activa un script de shell bash que inicia cgminer. Ejecutar el script directamente inicia cgminer sin problemas. Ejecutar el script desde crontab siempre da el error "no gpus usable".

He comprobado tres veces que todos los vars están configurados (DISPLAY, GPU_MAX_ALLOC_PERCENT, GPU_USE_SYNC_OBJECTS=1), que las rutas son correctas, etc.

La entrada está en el crontab accesible al ser (sudo -s).

¿Alguna pista sobre lo que podría estar mal?

Nuevamente, los controladores y el SDK están instalados correctamente, ya que todo funciona correctamente cuando ejecuto el script manualmente.

El script inicia cgminer con un cmd básico:

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

Gracias

Supongo que debe iniciar sesión y Xserver debe iniciarse antes de poder iniciar cgminer.
Crontab se usa generalmente para trabajos repetidos
@ArtShayderov Tiene sentido lanzar un minero durante ciertos momentos (por ejemplo, durante su descanso para dormir).
Eche un vistazo a la documentación de cron (¿página de manual?) y encuentre su registro. Lo más probable es que tenga problemas para comunicarse con el servidor X o algún otro problema relacionado con el usuario/permiso, en cuyo caso probablemente verá un mensaje de error que lo indicará en la dirección correcta. Para aventurarse: ¿Cron lo inicia como un usuario con permisos para acceder a /folder/myconfig.conf? ¿Ese usuario tiene acceso a X usando su variable de entorno DISPLAY? ¿Está cron realmente usando las variables de entorno que configuró para ejecutar sus comandos de shell? ¿Se lanza realmente un shell para ejecutarlos? ...?
Gracias pirámides, no sabía que root no puede usar la sesión X de otro usuario.

Respuestas (1)

En realidad, olvidé iniciar cgminer con el usuario ejecutando X (iniciando sesión automáticamente).

Haciendo

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

funcionó perfectamente

Por cierto, Art Shayderov, sí, cron se usa para trabajos repetidos, como por ejemplo, del que estoy hablando aquí;)

Correcto. Yo mismo estoy usando plataformas dedicadas y es realmente difícil mirar desde el punto de vista de otra persona/caso de uso. Estaba pensando "¿Por qué alguien querría encender y apagar su equipo?". Ahora veo. No es un equipo dedicado.
En realidad es un equipo dedicado. Pero estoy ejecutando un cron para verificar periódicamente si cgminer se está ejecutando, reiniciarlo si es necesario y descargar nuevas configuraciones de un servidor cuando cambien.
Si este es un equipo dedicado, ¿por qué revisar cgminer periódicamente? ¿Por qué no tener un cgminer de monitoreo de procesos en segundo plano en todo momento? ¿Estás tratando de ahorrar ciclos de CPU? Estoy canalizando la salida de "tail -f cgminer.log" al script Ruby. No digo que esto sea ideal, pero tail -fusa inotify en Linux y es bastante eficiente, si eso es lo que le preocupa.