Crontab es una herramienta indispensable para el administrador de sistemas, su principal función, radica en la automatización de tareas dentro de nuestro servidor. Pues bien, después de algún tiempo de tener abandonado este blog, hoy voy a hablar de ello. Lo primero que vamos a hacer es ver que tareas tenemos en el crontab, para ello
crontab -l
Nos mostrará la lista de tareas especificadas en el crontab, es posible que veamos una lista como está:
5 0 * * * tar czf * respaldo
Ahora, analizando está lÃnea encontramos 6 elementos puestos en el orden que sigue:
- Minuto: Es el minuto exacto en el que quieres que se ejecute la tarea
- Hora: La hora exacta en formato de 24 horas
- DÃa: Valor numérico del dÃa del mes
- Mes: Valor numérico del mes
- Semana: Valor numérico del dÃa de la semana
- Usuario: usuario que ejecuta el comando, sino se pone, se usa root por defecto
- Comando: comando a lanzar
Por ejemplo, supongamos que queremos lanzar un proceso a las 12 de la noche de cada sábado que empaquete el contenido de la carpeta de algún proyecto y nos lo envié por correo, serÃa algo como esto:
0 0 * * 6 tar -cvf proyecto.tar /home/elusuario/proyecto
5 0 * * 6 mail elusuario@porahi.com -s Respaldo -a /home/elusuario/proyecto.tar
Noten que estoy corriendo el proceso como root, los asteriscos se usaran cuando no queremos especificar un parámetro, por supuesto el comando es obligatorio. Ahora que ya tenemos nuestra lÃnea construida, es hora de meterla el contrab, para ello tecleamos:
crontab -e
Y se nos abre una ventana con el editor por defecto (casi siempre vi o vim), estás son algunas reglas básicas de sobrevivencia en vi y derivados para los que se pierdan.
- i - insertar
- Tecla insert - presionada una vez entramos a modo de reemplazo, presionada de nuevo, regresamos al modo de insertar
- Esc - Salimos del modo de inserción y entramos al modo comando
- :w - Guarda los cambios
- :q - Sale sin guardar
- :wq - Sale y guarda cambios