Configurar tareas cron con crontab.
Puede parecer algo complicado, pero en realidad es todo lo contrario, configurar tareas cron es muy sencillo si sigues los pasos que te indicare en este articulo.
Crontab es un programador de tareas basado en tiempo. Cron es el archivo de configuración de crontab que especifica los comandos shell que se deben ejecutar según el periodo programado.
Los archivos de crontab se almacenan en la misma localización que las listas de tareas y otras instrucciones del daemon cron.
Normalmente los puedes encontrar en: /etc/crontab
Configurar tareas cron
Nosotros usaremos a modo de ejemplo un servidor con CentOS7, en otras distribuciones linux el proceso es prácticamente el mismo.
Para hacer uso de esta herramienta necesitamos tener instalado el paquete «cronie«, podemos comprobar si lo tenemos instalado con el siguiente comando:
sudo rpm -q cronie
Si está instalado recibirás una respuesta similar a… «cronie-1.4.11-20.el7_6.x86_64«.
Si la respuesta no es valida, lo instalamos.
sudo yum install cronie
Una vez instalado comprobamos que se ejecuta, usamos el comando «systemctl«.
sudo systemctl status crond.service
ejemplo de que se ejecuta correctamente…
Todo correcto… verificamos la configuración actual de la herramienta.
sudo cat /etc/crontab
Como puedes ver en la siguiente imagen crontab ya contiene una explicación sobre cómo definir tus propias tareas cron.
La sintaxis que deber crear es (ver los comandos útiles al final del articulo):
minuto / hora / día / mes / día de la semana / usuario / comando
Se permite el uso de asteriscos (*) para especificar todos los valores válidos, por ejemplo si quieres que el comando o script seleccionado se ejecute todos los días a medianoche, agregas lo siguiente:
0 0 * * * root /libera.sh
Puedes usar las palabras reservadas en vez de números.
- @reboot: se ejecuta una única vez al inicio.
- @yearly/@annually: ejecutar cada año.
- @monthly: ejecutar una vez al mes.
- @weekly: una vez a la semana.
- @daily/@midnight: una vez al día.
- @hourly: cada hora.
ejemplo…
@hourly /bin/libera.sh
También puedes crear tareas para usuarios específicos, en ese caso las tareas las localizaras en:
/var/spool/cron/usuario
Debes tener en cuenta que si creas una tarea para un usuario especifico, no debes colocar el nombre de usuario en la sintaxis.
minuto / hora / día / mes / día de la semana / comando
Una vez guardada la tarea debes reiniciar el servicio.
sudo systemctl restart crond.service
Comandos útiles
crontab -e: Editar o crear un archivo.
crontab -l: Lista el contenido de crontab.
crontab -r: Eliminar archivo.
man cron: Manual.
man crontab: Manual.
Comparte el articulo.