enrique-j
8/25/2017 - 7:11 PM

Cron.md

#Cron El servicio cron (daemon) se ejecuta en segundo plano

El servicio de cron se llama crond.

El demonio cron inicia de /etc/rc.d/ o /etc/init.d dependiendo de la distribucion.

Cron se ejecuta en el background, revisa cada minuto la tabla de tareas crontab /etc/crontab o en /var/spool/cron en búsqueda de tareas que se deban cumplir.

#Crontab

Crontab es un simple archivo de texto que guarda una lista de comandos a ejecutar en un tiempo especificado por el usuario.

Crontab verificará la fecha y hora en que se debe ejecutar el script o el comando, los permisos de ejecución y lo realizará en el background.

Cada usuario puede tener su propio archivo crontab

/etc/crontab se asume que es el archivo crontab del usuario root.

#Cambiamos los permisos de ejecucion del script con: chmod a+x ~/scripts/actualizacion.sh

#Agregar tareas a crontab crontab -e --edicion

m h dom mon dow user command

-m = corresponde al minuto en que se va a ejecutar el script, el valor va de 0 a 59.

-h = la hora exacta, se maneja el formato de 24 horas, los valores van de 0 a 23, siendo 0 las 12:00 de la medianoche.

-dom = hace referencia al día del mes, por ejemplo se puede especificar 15 si se quiere ejecutar cada dia 15.

  • dow = significa el día de la semana, puede ser numérico (0 a 7, donde 0 y 7 son domingo) o las 3 primeras letras del día en inglés: mon, tue, wed, thu, fri, sat, sun.

user define el usuario que va a ejecutar el comando, puede ser root, u otro usuario diferente siempre y cuando tenga permisos de ejecución del script.

command refiere al comando o a la ruta absoluta del script a ejecutar, ejemplo: sh /home/usuario/scripts/actualizar.sh, si acaso llama a un script este debe ser ejecutable

#cambiar de editor predeterminado export EDITOR="vim" dia de la semana crontab -l para listar los crontab programados

crontab -e para editar

  • todos los dias

Todos los dias cada 5 minutos

*/5 * * * * commando

#De lunes a viernes 12 de medianoche

00 00 * * 1-5 comand