Borrar archiving

Regularmente cuando una base de datos esta en archiving es necesario borrar el archiving una vez que ya fue respaldado, la manera de automatizar esto es incluirlo en el crontab de UNIX. La siguiente es la linea que lo hace:

00 22 * * * find /9a/oradata/DBDIR/arch/ -name '*.arc' -mtime +1 -exec rm {} \;

Que es lo que hace esta linea de comando:

  1. 00 22 * * *.- Esto le dice al crontab de ejecutar el comando a los 0 minutos y 22 horas todos los dias ( * * *).
  2. find /9a/oradata/DBDIR/arch/ -name '*.arc' -mtime +1.- Buscar los archivos que tienen extension “arc” (o como se tiene definido en la base) y que tienen un dia de antigüedad, esto quiere decir que va a buscar los archivos del archiving que tienen mas de un dia. Si quisieramos borrar los archivos que tienen mas de 7 dias entonces cambiariamos +1 por +7.
  3. -exec rm {} \; .-Ejecutar rm(borrar) todos los archivos encontrados.

Algunas veces es necesario borrar archivos a cierta hora. Una solucion es generar un archivo antes de la hora o en la hora a partir de la cual queremos borrar.
Ejemplo:

00 15 * * * touch /arch/oradata/DBDIR/arch/filestamp
00 18 * * * find /arch/oradata/DBDIR/arch -name '*.arc*' ! -newer /arch/oradata/DBDIR/arch/filestamp -exec rm {} \;

La primer linea lo que hace es crear un archivo “dummy”(filestamp) que indica hasta que hora puede borrar los archivos. En este caso va a borrar los archivos hasta las 15 hrs.
La segunda linea busca los archivos que no son mas nuevos que el archivo “filestamp” (! -newer ).

  1. Leave a comment

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: