Crontab en Linux con 20 ejemplos útiles para programar trabajos
- 3968
- 654
- Hugo Vera
¿Ejecuta un trabajo cron en su servidor cada muchos minutos?? ¿Es usted un administrador o ingeniero del sistema que tiene que administrar los trabajos cron a diario?? ¿Sigues olvidando la sintaxis para configurar un nuevo trabajo cron?? Si es así, sigue leyendo.
Cron es una parte esencial de cualquier sistema, ya que automatiza varias tareas programadas. El comando crontab se utiliza para editar y administrar trabajos cron. Crear un trabajo cron no es difícil, pero puede volverse complicado cuando se trata de múltiples usuarios y entornos. La sintaxis de Crontab es principalmente la misma en todas las distribuciones y servidores de Linux, por lo que una vez que lo domine, programará tareas en poco tiempo!
En este tutorial, aprenderá a usar crontab con 20 ejemplos útiles para programas de trabajos. También puede usar CRONTAB para que las tareas se ejecuten una vez en el futuro solamente, pero para que cualquier tarea se ejecute una vez que recomendemos usar el comando Linux AT.
Si no tiene CRONTAB instalado en su sistema, consulte el artículo Instalar Crontab en CentOS/RHEL.
Sintaxis de Linux Crontab
El formato de un archivo crontab es muy simple: cada línea contiene seis campos, separados por espacios. El primer campo especifica el minuto (0-59) Cuando se ejecutará el trabajo, el segundo campo especifica la hora (0-23), el tercer campo especifica el día del mes (1-31), y así sucesivamente. Los comodines también se pueden usar en archivos crontab. Por ejemplo, un asterisco en el cuarto campo indica que el trabajo debe ejecutarse cada semana.
- Minuto - Un valor minuto puede estar entre 0-59
- Hora - Un valor de hora puede ser entre 0-23
- Día del mes - Este valor puede entre 1-31. Durante los meses, tener menos días ignorará la parte restante
- Mes del año - Esto puede ser entre 1-12. También puede definir este valor con los primeros tres alfabetos del mes como Jan, Feb, Mar, APR, etc.
- Día de la semana - Este puede ser el valor entre 0-7. Donde 0 y 7 para el domingo, 1 para el lunes 2 para el martes, y así sucesivamente. También puede usar los tres primeros alfabetos de días como Sun, Mon, Tue, Wed, etc.
Ahora, las declaraciones a continuación describirán cómo definir múltiples valores o rangos. Leer a continuación y comprender.
- Astrics (*) - Coincide con cualquier cosa
- Valores múltiples - Use el comando (,) para definir múltiples valores como 2,4,8 o sol, viernes o enero, octubre, dec, etc.
- Definir el rango - Puede definir el rango usando el guión como: 1-10 o 20-30 o Sun-fri o febrero-abril
- Definir múltiples rangos - Puede definir múltiples rangos con comandos separados como: Jan-Mar, Jul-Sep
Cómo agregar/editar crontab
Los archivos crontab generalmente se almacenan en el /etc /cron.D/ Directorio en sistemas Linux. El comando CRONTAB se puede usar para editar el archivo CRONTAB.
crontab -e
Por defecto, editará las entradas CRONTAB del usuario iniciado actualmente. Para editar otro usuario CRONTAB Use el comando a continuación:
crontab -u nombre de usuario -e
Cambiar el EDITOR Variable de entorno para cambiar su editor predeterminado.
Cómo enumerar Crontab
Para ver las entradas CRONTAB de los usuarios actuales, use el siguiente comando.
crontab -l
Use -U seguido del nombre de usuario para ver las entradas crontab del usuario especificado.
crontab -u nombre de usuario -l
20 ejemplos útiles para programar crontab
Aquí está la lista de ejemplos para programar trabajos de cron en un sistema de Linux usando crontab.
- Programe un cron para ejecutar a las 2 am diariamente.
Esto será útil para programar copias de seguridad de la base de datos a diario.
0 2 * * * /bin /sh copia de seguridad.mierda
- Asterisk (*) se usa para hacer coincidir todos los registros.
- Programe un cron para ejecutar dos veces al día.
El comando de ejemplo a continuación se ejecutará a las 5 a.m. y a las 5 p.m. diariamente. Puede especificar múltiples sellos de tiempo por comas.
0 5,17 * * * /scripts /script.mierda
- Programe un cron para ejecutar cada minuto.
En general, no requerimos ningún script para ejecutar cada minuto, pero en algunos casos, es posible que deba configurarlo.
* * * * * * /scripts /script.mierda
- Programe un cron para ejecutar todos los domingos a las 5 p.m.
Este tipo de cron es útil para realizar tareas semanales, como rotación de registro, etc.
0 17 * * Sun /scripts /script.mierda
- Programe un cron para ejecutar cada 10 minutos.
Si desea ejecutar su script a intervalos de 10 minutos, puede configurarlo como el siguiente. Estos tipos de crons son útiles para monitorear.
*/10 * * * */scripts/monitor.mierda
*/10: significa correr cada 10 minutos. Igual que si desea ejecutar cada 5 minutos para usar */5.
- Programe un cron para ejecutar en los meses seleccionados.
A veces estamos obligados a programar una tarea que se ejecute solo para meses seleccionados. El guión de ejemplo a continuación se ejecutará en enero, mayo y meses de agosto.
* * * enero, mayo, agosto * /script /script.mierda
- Programe un cron para ejecutar en días seleccionados.
Si requirió programar una tarea para ejecutarse solo para los días seleccionados. El siguiente ejemplo se ejecutará cada domingo y viernes a las 5 p.m.
0 17 * * Sun, Fri /Script /Script.mierda
- Programe un cron para ejecutar el primer domingo de cada mes.
Para programar un script para ejecutar un script el primer domingo, no es posible solo por el parámetro de tiempo, pero podemos usar la condición en los campos de comando para hacerlo.
0 2 * * Sun [$ (fecha +%d) -le 07] && /script /script /script.mierda
- Programe un cron para ejecutar cada cuatro horas.
Si desea ejecutar un script en intervalos de 4 horas. Se puede configurar como a continuación.
0 */4 * * */scripts/script.mierda
- Programe un cron para ejecutar dos veces todos los domingos y lunes.
Para programar una tarea para ejecutar dos veces el domingo y el lunes solo. Use la siguiente configuración para hacerlo.
0 4,17 * * Sol, Mon /Scripts /Script.mierda
- Programe un cron para ejecutar cada 30 segundos.
Proyectar una tarea para ejecutar cada 30 segundos no es posible por parámetros de tiempo, pero se puede hacer programando el mismo cron dos veces a continuación.
* * * * * * /scripts /script.sh * * * * * * dormir 30; /scripts/script.mierda
- Programe múltiples tareas en un solo Cron.
Para configurar múltiples tareas con un solo cron, se puede realizar separando las tareas por el punto y el punto de la vez (;).
* * * * * * /scripts /script.mierda; /scripts/scrit2.mierda
- Programe tareas para ejecutar anualmente (@Yearly).
@anual La marca de tiempo es similar a "0 0 1 1 *". Ejecutará una tarea en el primer minuto de cada año, puede ser útil enviar saludos de año nuevo 🙂
@Yearly /scripts /script.mierda
- Programe tareas para ejecutar mensualmente (@Monthly).
@mensual La marca de tiempo es similar a "0 0 1 * *". Ejecutará una tarea en el primer minuto del mes. Es útil realizar tareas mensuales como pagar las facturas y la facturación a los clientes.
@Monthly /scripts /script.mierda
- Programe tareas para ejecutar semanalmente (@weekly).
A @semanalmente La marca de tiempo es similar a "
0 0 * * Sol
". Ejecutará una tarea en el primer minuto de la semana. Es útil realizar tareas semanales como la limpieza del sistema, etc.@weekly /bin /script.mierda
- Programe tareas para ejecutar diariamente (@Daily).
@a diario La marca de tiempo es similar a "0 0 * * *". Ejecutará una tarea en el primer minuto de cada día, puede ser útil realizar tareas diarias.
@daily /scripts /script.mierda
- Programe tareas para ejecutar por hora (@hourly).
@cada hora La marca de tiempo es similar a "0 * * * *". Ejecutará una tarea en el primer minuto de cada hora, puede ser útil realizar tareas por hora.
@hourly /scripts /script.mierda
- Programe tareas para ejecutar en el reinicio del sistema (@reboot).
@reiniciar es útil para aquellas tareas que desea ejecutar en el inicio de su sistema. Será lo mismo que los scripts de inicio del sistema. Es útil para iniciar tareas en segundo plano automáticamente.
@reboot /scripts /script.mierda
- Redirige los resultados de Cron a una cuenta de correo electrónico específica.
Por defecto, CRON envía detalles al usuario actual donde está programado Cron. Si desea redirigirlo a su otra cuenta, se puede hacer configurando la variable de correo como a continuación
crontab -l
Mail = Bob 0 2 * * * /script /backup.mierda - Tome una copia de seguridad de todos los cron a un archivo de texto sin formato.
Recomiendo mantener una copia de seguridad de todos los trabajos de entrada en un archivo. Esto lo ayudará a recuperar Cron en caso de eliminación accidental.
Verifique el cron programado actual:
crontab -l
Correo = rahul 0 2 * * * /script /backup.mierdaCONTRACIÓN DE CONTRACIACIÓN CRON al archivo de texto:
# crontab -l> cron -backup.txt # gat cron-backup.Txt Mail = rahul 0 2 * * * /script /backup.mierda
Eliminar el cron programado actual:
# crontab -r # crontab -l sin crontab para root
Restaurar crons desde el archivo de texto:
# crontab cron-backup.txt # crontab -l mail = rahul 0 2 * * * /script /backup.mierda
Conclusión
Gracias por leer este artículo, espero que te ayude a entender Crontab en Linux. Para programar tareas de tiempo, también puede usar el comando Linux AT.
- « Cómo instalar QBitTorrent 4.0 en Ubuntu usando PPA
- 20 consejos útiles para principiantes PostgreSQL »