Cron y Crontab - Programa tareas, comandos, scripts... en Linux

Iniciado por HATI, Abril 27, 2017, 04:58:03 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Abril 27, 2017, 04:58:03 PM Ultima modificación: Abril 27, 2017, 06:13:16 PM por blackdrake
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta es similar a un administrador de tareas que nos permite programar la ejecución de comandos o scripts. Funciona a través del fichero Crontab, que normalmente se encuentra situado en /etc/crontab.
Crontab es el fichero que contiene los parámetros que determinarán la ejecución de Cron. Comprobará la fecha y hora de ejecución del script o del comando y los permisos de ejecución. Hay que aclarar que existe un fichero Crontab por cada usuario en el equipo.


Fichero Crontab


Parámetros:
  • PATH: directorios en los cuales Cron buscará el comando a ejecutar.
  • MAIL TO: Cron enviará un correo al usuario que se especifique en este variable.
  • HOME: directorio raíz del comando cron.
  • m: minuto en el que se ejecutará el script. [0-59]
  • h: hora. [0-23]
  • dom: día del mes. [0-31]
  • dow: día de la semana. [0-7] | [mon-tue-wed-thu-fri-sat-sun]
  • user: usuario que ejecutará el comando o script.
  • command: comando o a la ruta absoluta del script a ejecutar.


Cadenas especiales para definir rangos:
  • @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta: ejecuta una vez, al inicio
  • @yearly: ejecuta sólo una vez al año: 0 0 1 1 *
  • @annually: igual que @yearly
  • @monthly: ejecuta una vez al mes, el primer día: 0 0 1 * *
  • @weekly: ejecuta el primer minuto de la primer hora de la semana. 0 0 * * 0.
  • @daily: diario, a las 12:00A.M. 0 0 * * *
  • @midnight: igual que @daily
  • @hourly: ejecuta el primer minuto de cada hora: 0 * * * *


Existen diversas formas de utilizar Cron. La forma más segura, para evitar errores, es editando directamente el fichero crontab que acabamos de ver. En casi todos los sistemas Linux, suelen existir también los siguientes ficheros, que pueden ser editados para ejecutarse, como podreís intuir, cada hora, cada día, cada semana o cada mes:
  • cron.hourly
  • cron.daily
  • cron.weekly
  • cron.monthly

También podemos usar el comando Crontab para programar nuestras tareas:

Código: bash
crontab [-u usuario] archivo
crontab [-u usuario] [-l | -r | -e] [-i] [-s]


Parámetros:
  • u: usuario que ejecutara el comando o script.
  • l: lista las tareas programadas.
  • r: elimina el crontab actual.
  • e: abrir o editar archivo crontab.


Ejemplos de tareas:

Código: bash
15 10 * * * usuario /home/usuario/scripts/actualizar.sh

  • Usuario root ejecutará una actualización todos los domingos (sun) a las 10:45 a.m:
Código: bash
45 10 * * sun root apt-get -y update



Un saludo HATI ;D


Jugar o perder