Saltar al contenido

Cómo ejecutar y editar el archivo Crontab de Linux manualmente

16 febrero 2021
simbolo popular de linux

Es importante tener claras las diferencias entre Cron y Crontab, sobre todo cuando estamos pensando ejecutar y editar algunos archivos y estamos dentro del sistema operativo Linux y sus versiones, que suele poner algunas trabas. Conoce qué son los archivos Cron y Crontab, para qué sirven y como ejecutarlos y editarlos desde el SO Linux al ejecutar algunos comandos y seguir puntualmente los pasos que describimos

Antes de ir al tecnicismo de saber cómo ejecutar un archivo y cómo editar en él, es importante tener claro qué es Crontab y Cron y para qué funcionan.

¿Qué es Crontab y Cron y para qué funcionan?

Crontab es un archivo de texto donde se almacena una lista de comandos a ejecutar en un tiempo determinado, por lo tanto, Crontab verificará fechas y horas en las que se deben ejecutar los script o comandos, así como los permisos de ejecución, y todo es realizado bajo perfil, o como se conoce tecnológicamente en background.

Todos los usuarios cuentan con información diferente dentro de su Crontab y cada uno tiene la posibilidad de revisar y verificar su información siendo usuarios “normales” o usuarios “root”, con tan solo utilizar el comando Crontab.

Sin embargo, suele presentarse una confusión para algunos programadores o administradores de red, al confundirse con las dinámicas y roles de Cron.

laptop linux

Cron es lo que conocemos como un “demonio” o proceso en segundo plano, que se ejecuta desde que el sistema arranca, su función principal es comprobar si existe alguna tarea que deba ser ejecutada según la programación prestablecida y depende de la configuración de la zona horaria que tenga cada equipo.

Una vez que tenemos claro el concepto de éstos dos archivos, podemos diferenciar con facilidad lo que es Cron y lo que es Crontab, así como sus funciones que son totalmente diferentes.

Ahora bien, cuando trabajamos con sistema operativo Linux, es frecuente tener inconvenientes al momento de ejecutar y editar Crontab, es por eso que a continuación encontrarás algunos aspectos técnicos que te facilitarán el trabajo.

¿Qué debes hacer?

Lo primero que debes hacer es obtener permisos de Crontab, pues para éste comando es indispensable que los tenga, en éste caso debe administrarlos desde la terminal en: /etc/cron.allow o etc/cron.deny. Se presentan las siguientes posibilidades:

  • Una vez que encuentra el archivo /etc/cron.allow, el usuario que desee editar el Crontab lo debe revisar con detenimiento  y verificar que esté incluido en él.
  • Si el archivo /etc/cron.allow no existe, debe haber un etc/cron.deny (pero en éste caso el usuario que desea editar no debe estar en él).
  • Si los 2 archivos se encuentran presentes, el archivo /etc/cron.allow incapacitara al etc/cron.deny.
  • Si no existe ninguno de los archivos la edición del Crontab dependerá únicamente de la configuración del sistema operativo, el permitir o no la edición.

Al momento de editar

Cuando se tiene los permisos apropiados, los usuarios pueden crear o renombrar su propio archivo Crontab, por lo que debe verificar que exista éste archivo al ejecutar el comando: crontab-1, si no tiene un archivo Crontab aparecerá el mensaje “no crontab for”, pero si lo tiene aparecerá su archivo Crontab en pantalla.

Dependiendo del sistema operativo, los mensajes o formas de ejecución pueden variar de no mostrar nada en lo absoluto hasta mensajes de “no edite este archivo”.

ventana codigos linux

Sin embargo, para crear o editar un archivo Crontab deberá ejecutar el comando crontab -, de esa forma obtendrá mucha información pero deberá prestar atención a la descripción anterior a la sección de comentarios, los cuales se diferencian por incluir #. Ejemplo: # m h dom mon dow command. Debe tener en cuenta que existen solo seis piezas de información que puede editar en cada línea del Crontab:

  1. El preciso Minuto en el que se va a ejecutar el comando (m).
  2. La Hora durante el dia en que se activara el comando (h)
  3. Día especifico de un mes en que se llevara la ejecucion del comando (lun).
  4. El Mes en el que se va a ejecutar el comando (mon).
  5. Se trata de un Día de la semana, en el que se activara el comando (dow).

El comando

Es importante que sepa que en cada una de las piezas de información podrá editar un carácter comodín, a excepción del “comando” en Linux. Ejemplo: 30 18 * * * * tar -zcf /var/backups/home.tgz /home/

Lo que se podria interpretar que a los 30 minutos, 18 horas y cualquier día, mes y día de la semana, el comando de entrada Crontab se comprime y lleva el directorio home a la carpeta /var/backups.