Max Draven escribió:
Quedó así:
#!/bin/bash export TERM=linux cd /home/usuario/descargas /usr/bin/programa -opciones 2> /dev/tty8 > /dev/tty8.
Lo del valor de TERM, no lo cambié, pues no estoy claro a lo que se refiere.
Cada consola debe tener definido un tipo de terminal, que define la relacion entre las caracteristicas fisicas que el terminal maneja y las definiciones asociadas que manejara el SO. Por defecto, vienen como TERM=linux, pero si eventualmente conectaras otro tipo de terminal, debes ajustar el valor de esa variable a lo que corresponda (TERM=ansi, TERM=vt100, etc...)
El programa se ejecuta perfectamente en la consola virtual 8. Hay salida en pantalla pero bueno, eso es parte del programa en sí. Así que creo que eso significa: Cero errores.
El programa _no_se_esta_ejecutando_ en la consola virtual 8, se esta ejecutando en _background_ y esta rediccionando su(s) salida(s) hacia el tty8
<> Supongo que te referías a corregir errores, si llegaran a presentarse; pasé de ésto.
Nunca se sabe, porque los eventuales errores pueden tener _n_ causas diferentes, algunas de las cuales ni siquiera se te va a acurrir preveer, como por ejemplo, problemas fisicos de disco, archivos corruptos, falta de espacio para grabar, etc, etc Te sugiero que el redireccionamiento lo hagas hacia un archivo de texto : 1.- Elimina el redireccionamiento en el script 2.- Agrega el redireccionamiento en el cron : 0 * * * * /home/usuario/rutina.sh 2>&1 > log.rutina
<>
Quedó de la siguiente manera:
0 * * * * /home/usuario/rutina.sh
Lo coloqué a ejecutarse cada hora, para que en caso de que la máquina se apague/sea reiniciada, el programa vuelva a ejecutarse sin necesidad de intervención humana.
Una pregunta final (Ya que casi todo está resuelto): cómo podría hacer que en lugar de ejecutarse cada hora (Como lo coloqué actualmente), se ejecutara cada vez que la máquina se encendiera/reiniciara ?.
Si lo vas a ejecutar cada hora, encuentro innecesario que te preocupes de que lo haga al iniciar la máquina. En todo caso, leete el man cron, y el man crontab, y encontraras una forma de hacerlo. Busca @reboot
Cuervo Linuxero
Saludos LRP