domingo, 11 de julio de 2021

Error crontab "/usr/bin/nano" exited with status 127 al añadir una tarea con crontab en GNU/Linux

Hola amigos del software libre.

En este artículo os mostraré como solucionar un posible error cuando intentéis programar una tarea con el comando "crontab" en cualquier distribución GNU/Linux.

En este caso estoy usando la distribución Ubuntu 18.04 en concreto.

Me he encontrado con la siguiente advertencia en el emulador de terminal, cuando he intentado programar una tarea con "crontab".

Al escribir el comando:

$ crontab -e


La advertencia que nos arroja, nos dice claramente que no encuentra el editor de texto "nano" en la ruta "/usr/bin/nano".

Vamos a comprobar que es cierto, y buscaremos donde se encuentra almacenado el programa "nano" escribiendo en el emulador de terminal:

$ whereis nano


Vemos que el comando "crontab" no nos ha engañado, y no ha encontrado el programa "nano" en la ruta "/usr/bin/nano".

El binario "nano" se encuentra en el directorio "/bin", el archivo de configuraciones se encuentra en la ruta "/usr/share/nano" y los archivos de los manuales se encuentran en las rutas "/usr/share/man/man1" y en "/usr/share/info".

Hay dos soluciones para que el comando "crontab" encuentre el editor nano:

1) Modificar la variable de entorno EDITOR.

Vamos a ver que ruta hay en dicha variable, aunque nos imaginamos cual es la que hay:

$ echo $EDITOR


Podemos cambiar la ruta existente por la que se encuentra nuestro editor nano con el siguiente comando:

$ export EDITOR=/bin/nano


Comprobamos que se ha cambiado la ruta en la variable:

$ echo $EDITOR


Ahora ya podremos utilizar crontab con el editor "nano".

$ crontab -e


Aunque os recomiendo la otra solución que viene a continuación.


2) Creando un enlace simbólico del binario nano en el directorio "/usr/bin/".

$ sudo ln -s /bin/nano /usr/bin/nano


Acordaros de usar "sudo", ya que en dicho directorio de creación del enlace simbólico solo tiene permisos de escritura el usuario root.

Comprobamos que se ha creado el enlace:

$ ls -l /usr/bin/nano


Y si ejecutamos crontab:

$ crontab -e


Ahora ya podréis programar vuestras tareas.

Y hasta aquí este pequeño artículo, espero os ayude.

Saludos y hasta la próxima.

No hay comentarios:

Publicar un comentario

Gracias por participar en este blog.