Aumenta tu linux / unix productividad: cómo utilizar crontab
Aparte de los videojuegos una de las grandes ventajas del uso de las computadoras es que no parece que importa hacer tareas aburridas y repetitivas que preferiríamos no hacer. Para las tareas monótonas, tales como copias de seguridad diarias de funcionamiento estamos mejor programar para que se ejecuten en un momento determinado todos los días, y hacer cosas más interesantes con nuestro tiempo. Linux y UNIX por lo general vienen con la utilidad “crontab” por defecto. Este comando muy útil le permite programar tareas para ejecutarse en un momento y repetir especificada como se ha configurado. Una tarea programada usando “crontab” se llama un “trabajo cron”.
Vídeo: Cómo utilizar Crontab
El comando crontab le permite indicar a su servidor para ejecutar una secuencia de comandos en un minuto determinado del día especificado del mes en particular. Para ver qué trabajos cron están configurados para ejecutarse en su equipo, ejecute el siguiente comando:
# crontab -l
Si su máquina tiene algunos trabajos de cron configurados se mostrará algo como lo siguiente:
0 6 * * * /opt/scripts/backup_script.sh
Vídeo: Webinar LPIC-1 "Tareas programadas en Linux. Cron Jobs"
La configuración crontab anterior muestra una tarea programada que se ejecuta la secuencia de comandos cotidiana “backup_script” cáscara a las 6 am. El * significa para funcionar en todas las instancias del valor en el campo. Así un asterisco en el día, el mes y día de la semana campos en el ejemplo anterior significa que la secuencia de comandos debe ejecutar todos los días del mes, todos los meses del año, y cada día de la semana. El primer y segundo campos dicen crontab para ejecutar la secuencia de comandos en cero minutos y seis horas, que son las 6 am. Por lo tanto, esta configuración tarea cron sería leer algo como esto, “Ejecutar el script de /opt/scripts/backup_script.sh a cero minutos, de 6 am, todos los días, todos los meses, y cada día de la semana.” A continuación se muestra la “anatomía ”de una configuración crontab explicado.
0 6 * * * /opt/scripts/backup_script.sh
| | | | |
| | | | | ________________ día de la semana (domingo = 0)
| | | | __________________ meses del año
| | | ____________________ día del mes
| | ______________________ horas del día
| ________________________ minuto de hora
Vídeo: CRON - task scheduling in linux
Para programar nuevas tareas cron o de modificar las antiguas ejecutar el siguiente comando:
# crontab -e
Con ello se abre un editor con el que se puede añadir, editar o borrar “cron puestos de trabajo”. Para programar un trabajo para funcionar a las 3:45 pm todos los lunes agregar entrada como esta:
45 15 * * 1 /opt/scripts/script.sh
También puede utilizar una coma para agregar varias entradas en un campo. Esto es útil si desea ejecutar un script tres veces al día, con un intervalo de ocho horas. Asegúrese de no dejar espacio entre las entradas en un solo campo, sin embargo. Su entrada “trabajo cron” se vería así:
0 1,9,17 * 2,11 * /opt/scripts/db_backup_script.sh
Vídeo: Linux Backup with TAR and Cron Jobs
En el ejemplo anterior el guión “db_backup_script.sh” corre a la 1 am, de 9 AM y 5 PM todos los días en los meses de febrero y noviembre. Hay muchas cosas interesantes que se pueden hacer con los trabajos de cron. Las mismas obras para el día, mes y día de la semana. Una vez que el cuelgue de este intente con el siguiente. Crontab no sólo entiende los números, sino que también puede funcionar en algunas palabras básicas en inglés:
explicación cuerdas
- ----
@reboot Ejecutar una vez, la próxima vez que se reinicie el sistema
@yearly Ejecutar una vez al año, al comienzo del año
@annually Igual que @yearly, ejecute una vez al año
@monthly Ejecutar una vez al mes, a principios del mes
@weekly Ejecutar una vez a la semana, a principios de la semana
@daily Ejecutar una vez al día, a la medianoche
@midnight Igual que @daily, correr a la medianoche
@hourly Ejecutar una vez cada hora, al inicio de la hora
Así, por ejemplo, si desea ejecutar una secuencia de comandos a la medianoche cada noche, esto es lo que la configuración de crontab se vería así:
@midnight /opt/scripts/script.sh
El uso de “@midnight” en lugar de “0 0 * * *” funcionará de la misma y ejecutar la secuencia de comandos solicitado a la medianoche cada noche mientras que ser mucho más fácil de leer que su contraparte numérica. También puede hacer que el uso de guiones para declarar un rango. En el siguiente comando “script.sh” será ejecutado al comienzo de cada hora 01 a.m.-06 a.m.:
0 1-6 * * * /opt/scripts/script.sh
Hay muchas cosas más interesantes que puedes hacer con cron. Cada sysasmin jura por él, es bastante fácil de usar, una vez que el cuelgue de ella, y muy potente. Utilice esta herramienta con prudencia, ya que la programación de una tarea erróneamente a veces puede hacer mucho daño. La lectura de la “página de manual” de crontab sería muy recomendable.