Skip to main content

Cómo editar el archivo Crontab de Linux para programar trabajos

Como Extrair Um Arquivo .bin (Abril 2025)

Como Extrair Um Arquivo .bin (Abril 2025)
Anonim

Un demonio en Linux llamado cron Ejecuta procesos a intervalos regulares. Comprueba ciertas carpetas en su sistema para que los scripts se ejecuten en una serie de carpetas que incluyen /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly y /etc/cron.monthly. También hay un archivo llamado / etc / crontab.

Colocando Scripts en Cron Folders

Simplemente puede colocar los scripts en las carpetas relevantes para que ejecuten intervalos regulares.

Por ejemplo, abra una ventana de terminal y ejecute el siguiente comando ls:

ls / etc / cron *

Verá la lista de programas o scripts que se ejecutan cada hora, diariamente, semanalmente y mensualmente.

El problema con estas carpetas es que son un poco vagos. Por ejemplo, diario significa que el script se ejecutará una vez al día, pero no tiene control sobre el tiempo que el script se ejecutará durante ese día.

Ahí es donde entra el archivo crontab.

Al editar el archivo crontab, puede obtener un script o programa para que se ejecute en la fecha y hora exactas en que desea que se ejecute.

Permisos

El comando crontab requiere que un usuario tenga permisos para editar un archivo crontab. Básicamente, hay dos archivos que se utilizan para administrar los permisos de crontab:

  • /etc/cron.allow
  • /etc/cron.deny

Si existe el archivo /etc/cron.allow, el usuario que desee editar el archivo crontab debe estar en ese archivo. Si el archivo cron.allow no existe pero hay un archivo /etc/cron.deny, entonces el usuario no debe existir en ese archivo. Si ambos archivos existen, entonces /etc/cron.allow reemplaza el archivo /etc/cron.deny. Si no existe ninguno de los archivos, depende de la configuración del sistema si un usuario puede editar el archivo crontab.

El usuario root siempre puede editar el archivo crontab. Puede usar el comando su para cambiar al usuario root o el comando sudo para ejecutar el comando crontab.

Editando el archivo crontab

Cada usuario que tenga los permisos adecuados puede crear su propio archivo crontab. El comando cron básicamente busca todos los archivos crontab y se ejecuta a través de cada uno de ellos.

Para comprobar si tiene un archivo crontab, ejecute el siguiente comando:

crontab -l

Si no tiene un archivo crontab, aparecerá el mensaje "no crontab para "aparecerá, de lo contrario se mostrará su archivo crontab (esta funcionalidad difiere de un sistema a otro, a veces no muestra nada en absoluto y otras veces muestra," no edite este archivo ").

Para crear o editar un archivo crontab, ejecute el siguiente comando:

crontab -e

El archivo que se abre tiene mucha información, pero la parte clave es el ejemplo justo antes del final de la sección de comentarios (los comentarios se indican mediante líneas que comienzan con #).

# m h dom mon dow comando

0 5 * * 1 tar -zcf /var/backups/home.tgz / home /

Hay 6 datos que caben en cada línea del archivo crontab:

  • El minuto del día en que se ejecuta el comando (m)
  • La hora del día en que se ejecuta el comando (h)
  • El día del mes en que se ejecuta el comando (dom)
  • El mes en que se ejecuta el comando (mon)
  • El día de la semana en que se ejecuta el comando (dow)
  • El comando

Para cada elemento (excepto para el comando) puede especificar un carácter comodín. Observa el siguiente ejemplo de línea crontab:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

A los 30 minutos, 18 horas y cualquier día, mes y día de la semana, esta entrada de crontab comprimirá y enviará el directorio de inicio a la carpeta / var / backups.

Para que un comando se ejecute a los 30 minutos después de cada hora, ejecute el siguiente comando:

30 * * * * comando

Para obtener un comando que se ejecute cada minuto después de las 6 p.m., ejecute el siguiente comando:

* 18 * * * comando

Por lo tanto, debe tener cuidado al configurar sus comandos crontab.

Por ejemplo:

* * * 1 * comando

Este comando se ejecutará cada minuto de cada hora de cada día de cada semana en enero.

Para ejecutar un comando a las 5 de la mañana del 1 de enero, lo haría en el siguiente comando para el archivo crontab:

0 5 1 1 * comando

Cómo quitar un archivo crontab

La mayoría de las veces no querrá eliminar el archivo crontab, pero es posible que desee eliminar algunas filas del archivo crontab.

Sin embargo, si desea eliminar el archivo crontab de su usuario, ejecute el siguiente comando:

crontab -r

Una forma más segura de hacerlo es ejecutar el siguiente comando:

crontab -i

El sistema operativo solicita una verificación antes de eliminar el archivo crontab.