Cómo añadir una tarea programada en el crontab de GNU Linux Red Hat. La añadiremos en el crontab del sistema para que se ejecute para todos los usuarios. También mostramos un ejemplo de script GNU Linux que permite hacer un export de la base de datos de Oracle Database y transferirla mediante FTP a otro equipo.

Añadir una tarea programada en el crontab de GNU Linux Red Hat

Os explicamos cómo añadir una tarea programada en el crontab de Linux Red Hat (válido para cualquier otra distribución GNU Linux como Ubuntu ó Fedora). La añadiremos en el crontab del sistema para que se ejecute para todos los usuarios.

1. Nos conectamos a Linux como superusuario (root), en nuestro caso hemos utilizado PuTTY para la conexión en modo consola remota. Lógicamente también lo podemos hacer desde el propio equipo iniciando una sesión:

Conexión con PuTTY al equipo GNU Linux

2. Modificaremos el fichero crontab que se encuentra en la carpeta /etc, con lo cual accederemos a esta carpeta con el comando:

Para comprobar que el fichero existe ejecutaremos:

Como resultado mostrará:

Si queremos visualizar el contenido del fichero ejecutaremos el siguiente comando:

Un ejemplo de contenido de este fichero podría ser:

Que indica lo siguiente:

  • Todos los días a las 15:30 se ejecutará el fichero «export_oracle.sh».
  • Todos los días a las 18:30 se ejecutará el fichero «rman.sh», redireccionando la salida al fichero «rman.out» y la salida de errores al fichero «rman.err».
  • Sólo los sábados, a las 14:00 se ejecutará el fichero «rman_semanal.sh», redireccionando la salida al fichero «rman_semanal.out» y la salida de errores al fichero «rman_semanal.err».

Para añadir, eliminar o modificar alguna tarea programada editaremos el fichero «crontab», para ello utilizaremos el editor de ficheros de texto «vi» (se puede utilizar cualquier otro, como «nano»):

Pulsaremos «a» para editar, a continuación añadiremos, modificaremos o eliminaremos la línea correspondiente a la tarea que queramos añadir, modificar o eliminar, siguiendo el formato adecuado (tal como se muestra en el ejemplo anterior) y guardaremos los cambios pulsando la tecla escape, a continuación «:wq» e INTRO.

Edición del fichero crontab para añadir y eliminar tareas programadas con vi ó nano

Para garantizar que los cambios se han guardado correctamente volveremos a visualizar el contenido con el comando:

En nuestro caso hemos modificado la hora de ejecución de una de las tareas existentes y hemos añadido una nueva tarea que se ejecutará sólo los miércoles:

Ejemplo de contenido de ficheros de script de GNU Linux

Un ejemplo del contenido de alguno de los ficheros de script que se ejecutan con el programador de tareas podría ser:

  • export_oracle.sh:

Este script de ejemplo realiza un exportación completa de la base de datos de Oracle Database completa a la carpeta «copia_bd_export» y al fichero «bd.dmp». También envía, mediante FTP, este fichero a otro equipo de la red, utilizando el fichero «ftp.in» con el siguiente contenido:

((se conecta por ftp al equipo 192.168.1.125, inicia sesión y transfiere el fichero bd.dmp))

Por último, ejecutamos el comando df -h que devuelve el espacio libre y ocupado de las unidades del equipo y lo redirigimos al fichero espaciodisco.log. 

Tecnologías empleadas

  • GNU Linux Red Hat.
  • Oracle Database 11g.
  • Servidor FTP de Windows.