Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki


Sistemas Operativos: Añadir una tarea programada en el crontab de Linux Red Hat
Linux


Os explicamos 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:

cd /etc

Para comprobar que el fichero existe ejecutaremos:

ls -lah crontab

Como resultado mostrará:

-rw-r--r-- 1 root root 553 jul 27 12:32 crontab

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

cat crontab

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

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
30 15 * * * /oracle/export_oracle.sh
00 18 * * * /oracle/rman.sh >> /oracle/rman.out 2 >>/oracle/rman.err
00 14 * * 6 /oracle/rman_semanal.sh >> /oracle/rman_semanal.out 2>> /oracle/rman_semanal.err

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"):

vi crontab

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 visulizar el contendio con el comando:

cat crontab

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:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
30 15 * * * /oracle/export_oracle.sh
00 20 * * * /oracle/rman.sh >> /oracle/rman.out 2 >>/oracle/rman.err
00 14 * * 6 /oracle/rman_semanal.sh >> /oracle/rman_semanal.out 2>> /oracle/rman_semanal.err
00 03 * * 3 /oracle/manual.sh >> /oracle/manual.out 2>> /oracle/manual.err

 

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:

export NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
exp system/contraseña_system file=/copia_bd_export/bd.dmp log=/copia_bd_export/bd.log full=y
ftp -n -u < /oracle/ftp.in > /oracle/ftp.out
df -h > /oracle/espaciodisco.log

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:

open 192.168.1.125
user Administrador contraseña_administrador
bin
prompt
lcd /copia_bd_export
mput bd.dmp
bye

((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

 

Créditos

Artículo realizado íntegramente por Alonsojpd.


Anuncios


Enviado el Viernes, 28 julio a las 08:09:58 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A