Cargando



Cron y Crontab – Administrar el tiempo en Linux

Cron y Crontab nos permiten administrar el tiempo en que se ejecutan tareas en Linux. Es un software similar al administrador de tareas de windows.


jul 17 2013 00:33
Avanzado
Cron tiene la capacidad de ejecutar procesos en segundo plano, transparente al usuario, pueden configurarse y luego ejecutarse sin que el usuario intervenga.

Es muy utilizado en servidores para realizar mantenimiento, backup o tareas especificas de algunas web.

Para crear comando cron podemos utilizar la ventana de terminal y escribir crontab -e

La primera vez que se ejecuta solicitara que indiquemos cual sera el editor de texto por defecto a utilizar vi, nano u otro.

crontab-linux.jpg


Aqui añadiremos nuestras reglas de crontab. Las reglas o comando de crontab tiene el siguiente esquema

m h dom dow usuario command
  • m - expresa minutos en que se va a ejecutar el script, el valor va de 0 a 59
  • h - expresa la hora exacta, en formato de 24 horas, los valores van de 0 a 23, siendo 0 las 12:00 de la medianoche.
  • dom - expresa día del mes, se puede especificar 10 si se quiere ejecutar cada dia 10 del mes
  • dow – expresa 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.
  • uer - 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 - es el comando o a la ruta absoluta del script a ejecutar, ejemplo: /home/usuario/script.sh, si acaso llama a un script este debe ser ejecutable.

Así por ejemplo podes crear un monado
Crear un backup todo los dias a las 10:30
30 10 * * * usuario /home/usuario/backup.sh

Actualiza el sistema operativo los viernes a la 1:00
00 01 * * 6 root apt-get -y update usuario root
Otra a variante para lo mismo seria usar el nombre del dia Friday (Viernes)

00 01 * * fri root apt-get -y update usuario root

Un comando mas completo y complejo
Todos lo 30 de Agosto a las 23:30 realizar tareas de mantenimiento del servidor

30 23 30 08 * usuario /home/usuario/mantenimientoservidor.sh


Esto mismo puede configurarse en todos los paneles de control de servidores.

Por ejemplo desde el panel de control Directadmin, tenemos una interfaz visual para crear el comando cron

crontab-linux-2.jpg


También es posible crear comando cron desde Cpanel de una manera muy similar al anterior

crontab-linux-3.jpg


Si tenemos una web puede servir para realizar tareas como actualizar la web, realizar tareas de mantenimiento de la base de datos, realizar backups automaticos, enviar emails como por ejemplo:

Todos los días a medianoche enviar newsletter a los usuarios
00 00 * * * usuario /home/usuario/midominio.com/newsletter.php


Vamos a crear un ejemplo para sincronizar con el software Rsync un directorio local con un directorio en un servidor al que suponemos estamos conectados

00 21 * * * rsync -avz --password-file=/etc/rsync.secret /home/dir-local/ miusuario@ipdelservidor::dir-emoto

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Hola! Si no encuentras algún tutorial en el buscador de Solvetic, Solicítalo Aquí

X