No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Automatizaci贸n de procesos con cron job

29/30
Recursos

Aportes 15

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

como sugerencia, esta clase en el t铆tulo se le puede a帽adir cron job, para poder encontrar m谩s facil la clase desde el buscador

Este es el que utilizo en la empresa para hacer bacjup de los servidores en linux.

0 0 * * * root sh /root/copiaet.sh

Y este es el script que utilizo dentro del archivo /copiaet.sh

cd /BACKUP
tar -zcvf respaldodatos_$(date +%d%m%y).tgz /DATOS/*
find -name 鈥*.tgz鈥 -type f -mtime +40 -exec rm -f {} ;

Automatizaci贸n de procesos con cron job

Para automatizar procesos con cron job, debemos:

  • Validar la disponibilidad del demonio de cron con:
systemctl status cron
  • Para crear un nuevo cron job escribimos

    crontab -e
    
  • Elegimos cual editor de archivos manejar

  • E ingresamos elminuto, la hora, el d铆a del mes, mes, d铆a de la semana y el comando.

  • Para observar todos los archivos de crontab que existen para todos los usuarios escribimos:

ls /var/spool/cron/crontabs
  • Ver solo el crontab de tu usuario actual
crontab -l

Existe una p谩gina muy 煤til llamada crontab guru que nos ayuda a definir esas expresiones de tiempo o esos valores que le queramos dar a nuestro cron job

En sistemas Linux, los "demonios" son programas que se ejecutan en segundo plano y realizan tareas espec铆ficas del sistema. Se gestionan mediante servicios del sistema init o, m谩s com煤nmente, mediante sistemas de inicio modernos como systemd. Para crear un demonio personalizado, debes seguir algunos pasos: 1\. \*\*Escribe el programa:\*\* \- Crea el programa que realizar谩 la tarea espec铆fica que deseas que el demonio realice. 2\. \*\*Crea un script de inicio:\*\* \- Crea un script de inicio que inicie tu programa como un demonio. Aseg煤rate de manejar adecuadamente la salida est谩ndar y est谩ndar de error. 3\. \*\*Ubica el script en el directorio adecuado:\*\* \- Coloca el script de inicio en el directorio adecuado para el sistema de inicio que est茅s utilizando (por ejemplo, `/etc/init.d/` para init o `/etc/systemd/system/` para systemd). 4\. \*\*Configura los permisos:\*\* \- Aseg煤rate de que el script de inicio tenga los permisos adecuados para ejecutarse. 5\. \*\*Registra el demonio:\*\* \- Registra el demonio para que se inicie autom谩ticamente al arrancar el sistema. Por ejemplo, si est谩s utilizando systemd, podr铆as usar comandos como `systemctl enable` para habilitar tu servicio. Es importante recordar que los detalles exactos pueden variar seg煤n la distribuci贸n de Linux y la versi贸n del sistema de inicio que est茅s utilizando.
Cuando se trabaja con la automatizaci贸n de procesos utilizando cron jobs (tareas programadas en sistemas basados en UNIX), hay varios puntos a tener en cuenta para garantizar un funcionamiento suave y eficiente. Aqu铆 algunos aspectos importantes: 1\. \*\*Sintaxis de Cron:\*\* \- Comprender la sintaxis de cron es fundamental. Un malentendido en la programaci贸n de cron puede llevar a ejecuciones inesperadas o incluso a la falta de ejecuci贸n de tareas. 2\. \*\*Logs y Registro:\*\* \- Configurar la salida y registro adecuados. Asegurarse de que los cron jobs est茅n configurados para enviar la salida est谩ndar y error a archivos de registro. Esto es crucial para diagnosticar problemas y rastrear el progreso de las tareas. 3\. \*\*Entorno de Ejecuci贸n:\*\* \- Algunas veces, los cron jobs se ejecutan en un entorno diferente al entorno interactivo del usuario. Aseg煤rate de que las variables de entorno necesarias est茅n configuradas correctamente para que las tareas puedan acceder a los recursos y configuraciones adecuadas. 4\. \*\*Rutas Absolutas:\*\* \- Utiliza rutas absolutas en lugar de rutas relativas en tus scripts y comandos. Los cron jobs pueden tener un directorio de trabajo diferente al que puedes esperar, y el uso de rutas absolutas evita problemas de referencia. 5\. \*\*Permisos de Archivos:\*\* \- Verifica y establece los permisos de archivo adecuados para los scripts y archivos involucrados en la tarea. Aseg煤rate de que el usuario que ejecuta el cron job tenga los permisos necesarios. 6\. \*\*Duraci贸n y Solapamiento:\*\* \- Aseg煤rate de que las tareas programadas no se solapen. Si una tarea est谩 en curso y otra instancia debe ejecutarse, podr铆as enfrentar problemas. Esto es especialmente relevante para tareas que pueden llevar mucho tiempo. 7\. \*\*Manejo de Errores:\*\* \- Implementa un manejo adecuado de errores en tus scripts. Esto podr铆a incluir el env铆o de notificaciones por correo electr贸nico o registros detallados en caso de errores cr铆ticos. 8\. \*\*Recursos del Sistema:\*\* \- Considera los recursos del sistema que pueden requerir tus tareas programadas. Por ejemplo, si una tarea consume muchos recursos, puede afectar el rendimiento del sistema. 9\. \*\*Planificaci贸n Cuidadosa:\*\* \- Planifica tus tareas cuidadosamente. Si tienes tareas que dependen de otras, aseg煤rate de que est茅n programadas en el orden correcto. 10\. \*\*Actualizaciones y Cambios:\*\* \- Si realizas cambios en los scripts o en la configuraci贸n del cron job, ten en cuenta c贸mo esos cambios podr铆an afectar la ejecuci贸n programada. Realiza pruebas adecuadas antes de aplicar cambios en un entorno de producci贸n. 11\. \*\*Respaldo y Recuperaci贸n:\*\* \- Realiza copias de seguridad de tus datos y scripts cr铆ticos. En el caso de un fallo inesperado, tener una estrategia de respaldo y recuperaci贸n es esencial. 12\. \*\*Seguridad:\*\* \- Aseg煤rate de que las tareas programadas est茅n protegidas adecuadamente. No dejes informaci贸n sensible, como contrase帽as, en archivos de script de manera descubierta. Al tener en cuenta estos puntos, puedes maximizar la eficiencia y confiabilidad de la automatizaci贸n de procesos con cron jobs. Adem谩s, la monitorizaci贸n regular y las pruebas son pr谩cticas recomendadas para garantizar un rendimiento constante.

Si alguno siguio mis iondaciones para usar con ssh su distro linux ubuntu con SSH y ejecuta:

systemctl status cron

y obtiene un error, entonces siguiendo los pasos de esta guia podra resolver.

https://github.com/microsoft/WSL/issues/8883#:~:text=dentro%20del%20shell%20wsl
Cuando comence a usar Cronjobs me ayude en este site, para enter mejor como usarlos. <https://crontab.guru> ![](https://static.platzi.com/media/user_upload/image-57b6dcfa-d480-4c30-abab-1c0f3fcb4dca.jpg)

Muy interesante esta clase, cron job ahorra demasiado tiempo una vez uno aprenda a usarlo de la manera m谩s apropiada

Trabajando desde la distribuci贸n de fedora el daemon se llama crond por lo que quedar铆a

systemctl status crond

Me gusto el aprendizaje de este 鈥渃ron鈥. Aprendi mucho con respecto a su uso y como se deberia implementar en la industria. Si que aprendi mucho. Estoy listo para el trabajo como admin de servidores.

la mejor herramienta para crear nuestros cron jobs es cron guru es muy buena para cuando no recordamos o debemos hacer algo complejo