crontab.png

Crontab es un fichero de configuración para automatizar tareas en nuestro sistema Linux. El servicio que permite la programación de tareas es cron y tiene que estar ejecutándose en nuestro equipo para que todo lo que veas en adelante funciona.

Para ver si se está ejecutando basta con poner el siguiente comando, que lo que hace es buscar los procesos en ejecución y una vez los busque con una tubería (|)
ps -ef | grep cron

Para entrar a configurar nuestro fichero personal de crontab, en la terminal se escribe crontab -e y estas configuraciones que se hacen se guardan en el directorio /var/spool/cron.

Captura-2015-06-21-01.png

Un ejemplo del fichero crontab

Una vez abierto el fichero, verás el contenido comentado # con ejemplos y explicaciones. Al final del mismo, te encontrarás con esta línea

  • m hace referencia a los minutos. Se puede poner el minuto de una determinada hora, por ejemplo 30, que sería el minuto 30 (y media) de una hora. Tambíen se puede indicar un intervalo siendo */1 cada minuto.
  • h hace referencia a las horas.
  • dom hace referencia al día del mes.
  • mon hace referencia al mes. Un ejemplo para poner aquí sería: 1,3. Así se hace referencia a Enero y Marzo
  • dow hace referencia al día de la semana. 0-6, Siendo el 0 el domingo y el 6 el sábado.
  • command hace referencia al comando a ejecutar en la tarea.

Aunque también existen horarios predefinidos por el sistema que sustituirían a lo anterior:

  • @reboot se ejecuta una vez se inicia el servicio cron, normalmente cuando se inicie el equipo.
  • @hourly se ejecuta a cada hora en punto.
  • @daily se ejecuta una vez al día.
  • @weekly se ejecuta una vez a la semana.
  • @monthly se ejecuta una vez al mes.
  • @yearly se ejecuta una vez al año.

Ejemplos de funcionamiento de los horarios en crontab

Veamos la aplicación de los horarios en los siguientes tres ejemplos:

Uso de scripts en crontab

Voy a realizar dos ejemplos sencillos de como introducir dos scripts que pueden ser más o menos útiles a la hora de realizar tareas automatizadas con crontab. Hay muchísimas formas de sacar provecho a la automatización del sistema Linux.

Creación de copias de seguridad de nuestra carpeta personal

Con la creación del siguiente script lo que se hace es crear un empaquetador (tar -czvf) de todo nuestro directorio personal. El empaquetado que se crea de nuestro directorio, se guardará en nuestro directorio y llevará como nombre el de nuestro usuario acompañado de la fecha de creación del mismo.

Pues bien ahora solo falta automatizar la tarea. En la terminal se introduce crontab -e y al final del fichero se introduce lo siguiente:

Creación de registros de la conexión a otro ordenador de la red

En el siguiente script se creará un registro de los ping realizados a un host de nuestra red. Se realizarán en un fichero si la conexión es correcta o en otro que será visible desde nuestro escritorio si ha habido problemas en algún momento en la red.
El script a crear es el siguiente:

Lo siguiente será automatizar el script en el fichero crontab como se ha hecho en el ejemplo anterior.

Fácil ¿no? Crontab te puede ayudar mucho en tu sistema GNU/Linux.

 

Fuente: basklinux

¿Quién está en línea?

Hay 37360 invitados y ningún miembro en línea