Cómo crear trabajos Cron en Linux
A El trabajo Cron o Cron es un programador basado en el tiempo común en los sistemas Linux / Unix. Programa tareas de usuario específicas para que se ejecuten periódicamente en una fecha, hora o intervalos fijos. La mayoría de estas tareas son scripts para realizar funciones como copias de seguridad y más. Para crear estos trabajos cron, usamos los comandos crontab. Un crontab es un comando / utilidad de UNIX que se utiliza para crear y administrar trabajos cron.
Como verá a continuación, crear y editar un trabajo cron es bastante simple. La parte más sorprendente es que no necesita reiniciar cron o incluso su PC después de crear o editar un trabajo cron. Simplemente guarde el archivo y estará listo.
- Usos comunes de Cron Jobs
- Partes básicas de un comando cron
- divide un valor en diferentes pasos.
- Instalar cron
- Al agregar las tareas, termine guardando el archivo y salga. Todas las instrucciones proporcionadas serán leídas y ejecutadas por el demonio cron. Los cambios se aplicarán incluso sin reiniciar su sistema, ya que el repositorio se actualiza automáticamente.
- Crontab se puede editar para diferentes usuarios usando un comando en la siguiente sintaxis:
- / 2
- Para eliminar todos los comandos crontab, puede utilizar el siguiente comando:
- Se ejecuta una vez después de cada reinicio / reinicio / inicio.
- Ahora que ha impedido que los usuarios no root creen trabajos cron si ya tenían alguno, podría considerar agregar sus trabajos cron en el archivo crontab raíz. Pero aquí hay un acertijo: al agregar sus trabajos cron al crontab raíz, ¿no ejecuta eso sus trabajos cron como root? Bueno, aquí viene la importancia del campo NOMBRE DE USUARIO que discutimos anteriormente en la sintaxis del comando cron. Por ejemplo, el siguiente comando:
Usos comunes de Cron Jobs
- Configuración de la hora del hardware: muchas computadoras utilizan el Protocolo de hora de red para configurar la hora del sistema, pero no establece la hora del hardware. Con cron, puede establecer la hora del hardware en función de la hora del sistema.
- Programación de tareas y ejecución de programas que ejecutan programas diarios: con el servicio cron, puede ejecutar muchos servicios del sistema que necesitan un aviso diario como Logwatch.
- Limpieza de directorio automáticamente, ejecución de programas de respaldo y mucho más.
Partes básicas de un comando cron
La sintaxis estándar del crontab es la siguiente:
a b c d e USERNAME /path/to/script output
1.La hora y la fecha, junto con la repetición del trabajo, se especifican en los cinco campos:
- a: Minutos: (que van desde 0 - 59)
- B: Horas: (que van desde 0 - 23 )
- C: Días: (que van desde 0 - 31 )
- D: Meses: (que van desde 0 - 12 )
- mi: Días de la semana: (que van desde 0 - 7. )
- a: Minutos: (que van desde 0 - 59)
Nota: Los días comienzan con el lunes. 0 y 7 representan el domingo
2. USERNAME
: Recuerde reemplazar esto con su nombre de usuario
3. El tercer segmento especifica la ubicación y el script específicos que ejecutará cron:
/path/to/script
4. La última sección define la notificación al usuario al finalizar el trabajo como una forma de realizar un seguimiento de las tareas:
output
Sin embargo, su bandeja de entrada puede estar llena de tareas menores que se canalizan con frecuencia. Para evitar esto, puede deshabilitar la salida automática de correo electrónico agregando la siguiente cadena a su comando cron:
>/dev/null 2>&1
e.g
a b c d e USERNAME /path/to/script>/dev/null 2>&1
Además, cron utiliza cuatro valores más que se utilizan para especificar varios valores en un campo. Son:
- Asterisco :
- Se refiere a todos los valores de un campo. La coma (,):
- Úselo para separar una lista de valores en el comando cron. Pizca (-):
- Especifique un rango de valores. Barra inclinada (/):
divide un valor en diferentes pasos.
Configurar los trabajos cron
Los comandos crontab son responsables de crear y editar trabajos cron porque los archivos cron no deben editarse directamente. El crontab define cómo puede crear, editar, enumerar, depurar, instalar y desinstalar las tareas cron.
sudo apt update sudo apt upgrade
Antes de comenzar con los trabajos cron, es esencial asegurarse de que su escritorio o servidor Linux esté actualizado ejecutando los siguientes comandos:
sudo apt-get install cron
Instalar cron
¿Cómo editar el archivo crontab?
Para completar el proceso, deberá configurar el trabajo cron. El usuario que inició sesión cuando se crea un trabajo cron se convierte automáticamente en el propietario. Eso se puede cambiar creando un propietario del trabajo que se encargará de administrar el trabajo cron, como veremos en esta publicación.
crontab -e
Para abrir el archivo de configuración crontab para el usuario actualmente conectado, ejecute el siguiente comando:
crontab -e
archivo crontab
Al agregar las tareas, termine guardando el archivo y salga. Todas las instrucciones proporcionadas serán leídas y ejecutadas por el demonio cron. Los cambios se aplicarán incluso sin reiniciar su sistema, ya que el repositorio se actualiza automáticamente.
Editar crontab para un usuario diferente
crontab –u other_username –e
Crontab se puede editar para diferentes usuarios usando un comando en la siguiente sintaxis:
Cómo usar caracteres especiales en los comandos crontab
- Los caracteres y operadores dictan una mayor personalización de su sistema a medida que amplían las capacidades de una tarea cron.
*/30 * * * *
- La barra inclinada se usa para dividir una cadena de tiempo en pasos específicos. Por ejemplo, para ejecutar una copia de seguridad cada 30 minutos, podemos usar:
*/15***
- El asterisco
se utiliza para ejecutar todos los valores a ejecutar. Por ejemplo:
0 6* * 1-5 /root/backup.sh
El guión (-) se utiliza para determinar el rango de actividades, como el número de días. Para
- ejemplo, ejecutando el código a las 6 am todos los días de la semana, usaremos;
0 4 * * 2,4 /root/backup.sh
Aquí, 06 representa las 6 am. 1-5 representa el número de días (de lunes a viernes).
- Una coma especifica las instancias individuales en las que se debe ejecutar el código:
35 1-23/2 * * * /path/to/script/script.sh
El comando anterior ejecutaría su código de secuencia de comandos a las 4 am los martes y jueves. También puede combinar varios comodines para personalizar aún más sus comandos. Por ejemplo, para ejecutar nuestro script cada dos días a los 35 minutos después de la hora, podemos usar el siguiente comando: 1-23 especifica el rango de horas,
/ 2
establece el intervalo a cada dos horas.
crontab –l
enumerar trabajos cron
enumerar trabajos cron
crontab -r
- Ese comando enumera todos los trabajos cron presentes en su sistema.
crontab -r -u other-username
Para eliminar todos los comandos crontab, puede utilizar el siguiente comando:
Elimina un trabajo cron para otro usuario.
@hourly:
Usar cadenas en Crontab Las cadenas son herramientas inmensamente útiles para los desarrolladores, ya que evitan la escritura repetitiva de segmentos de código. Afortunadamente, los crontabs admiten varios valores de cadenas. Incluyen:-mismo que - "0 * * * *" (Se ejecuta una vez cada@midnight:
hora )-mismo que - "0 0 * * *" (Se ejecuta una vez cada@daily:
día@weekly:
) igual que la medianoche-mismo que - "0 0 * * 0" (se ejecuta una vez cada@monthly:
semana )-mismo que - "0 0 1 * *" (Se ejecuta una vez cada@annually:
mes )-Igual que - "0 0 1 1 *" (Se ejecuta una vez cada@yearly:
año@reboot:
)
similar a @anualmente
@daily /path/to/backup_script.sh
Se ejecuta una vez después de cada reinicio / reinicio / inicio.
Un buen ejemplo; Si tiene un script de respaldo que desea ejecutar todos los días, use el siguiente comando:
- Ejemplos de trabajos cron
* * * * * /your/script/path.sh
- Aquí hay una lista de trabajos cron básicos que se pueden usar al comenzar:
40 * * * * /your/script/path.sh
- Para ejecutar un script cada minuto:
0 * * * * /your/script/path.sh
- Para ejecutar un script cada 40 minutos:
0 0 * * * /your/script/path.sh
- Para ejecutar un script cada hora:
23 0-23/2 * * * /your/script/path.sh
- Para ejecutar un script cada medianoche:
5 4 * * sun /your/script/path.sh
- Para ejecutar una secuencia de comandos cada 23 minutos después de la medianoche, las 2 a. M. Y las 4 a. M. Todos los días:
0 22 * * 1-5 /your/script/path.sh
- Para ejecutar un script a las 4.05 todos los domingos.
0 0 0 12 * /your/script/path.sh
- Ejecutar un script a las 10 pm durante la semana.
0 0 * * 6 /your/script/path.sh
- Para ejecutar un script del 1 de diciembre a la medianoche.
0 * * * * /your/script/path.sh
- Ejemplos de trabajos cron
Para ejecutar un script el sábado a la medianoche.
Para ejecutar un script cada hora.
Con estos ejemplos básicos, obtendrá una comprensión más profunda de la secuencia y cómo se puede modificar. /etc/cron.allow
Limitar el acceso de Cron /etc/cron.deny
Vemos que los trabajos cron pueden resultar muy útiles, especialmente cuando desea automatizar sus tareas. Sin embargo, también puede ser riesgoso si el sistema permite que cualquier usuario cree un trabajo cron. Incluso si no afecta a los datos personales, algunos trabajos cron pueden requerir una cantidad considerable de recursos del sistema, lo que retrasa a la PC. Para evitar tales escenarios, el administrador del sistema (usuario root) puede crear un o el archivo que contiene solo usuarios que pueden
'crear / no crear' /etc/cron.allow
un trabajo cron. /etc/cron.deny
los
cron permitir archivo
0 * * * * fosslinux /path/to/script.sh
cron permitir archivo
Ahora que ha impedido que los usuarios no root creen trabajos cron si ya tenían alguno, podría considerar agregar sus trabajos cron en el archivo crontab raíz. Pero aquí hay un acertijo: al agregar sus trabajos cron al crontab raíz, ¿no ejecuta eso sus trabajos cron como root? Bueno, aquí viene la importancia del campo NOMBRE DE USUARIO que discutimos anteriormente en la sintaxis del comando cron. Por ejemplo, el siguiente comando:
Se ejecutará como trabajo cron de usuario "fosslinux" y no como usuario root.
Conclusión
Ahora tiene una guía clara sobre el uso de trabajos de Cron para automatizar varias tareas en su sistema. Eso no debería confundirte con las aplicaciones de inicio. Utilice los ejemplos anteriores para intentar automatizar scripts simples. Con el tiempo, puede combinar caracteres especiales y comodines para realizar tareas mucho más mundanas. Si recién está comenzando, sería genial leer nuestra publicación sobre el tutorial de scripting de bash con ejemplos que lo ayudarán a crear su primer script.
Deja una respuesta