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 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: 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: 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.
Cómo quitar un archivo crontab