Hola Amig@s,
Aquí les dejo un buen script que por un lado exporta la información de una base de datos utilizando el programa expdp, luego envía un mail con el contenido del log del expdp y por último también tiene la posibilidad de subirlo a un servidor ftp. Viene todo comentado y es fácil de seguir.
# Script que realiza un export de la base de datos del usuario indicado en la variable CONEXION
# Autor - Eduardo Arana
# Asignar chmod 775 y chmod +x al script exportdia.sh
# En caso de fallo al ejecutar, primero ejecutar sed -i 's/\r$//' exportdia.sh
# Para programarlo, utilizar el crontab.
# Es necesario crear la estructura de directorios /export; /export/DIA_ACTUAL; /export/DIA_ANTERIOR;
# adicionalmente hay que crear un directorio en oracle que apunte a /export
#!/bin/bash
clear
#esquema o cliente
export ESQUEMA="NOMBREESQUEMA"
#info bbdd (obtener usando el oraenv y luego un set)
export CONEXION=USUARIO/CONTRASEÑA@ALIAS
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
export ORACLE_SID=SIDBBDD
export ORACLE_UNQNAME=UNQNAME
#otras variables
export TIMESTAMP=$(date +%d-%m-%Y_%H-%M-%S)
export DIA_ACTUAL=/export/DIA_ACTUAL
export DIA_ANTERIOR=/export/DIA_ANTERIOR
export CORREO_ELECTRONICO=tucorreo@loquesea.com
echo Borrando el DUMP del día anterior.
sudo rm $DIA_ANTERIOR/*.*
echo Moviendo el export anterior a la carpeta DIA_ANTERIOR
sudo mv $DIA_ACTUAL/*.zip $DIA_ANTERIOR
echo Exportando Datos con el EXPDP
$ORACLE_HOME/bin/expdp \'$CONEXION\' directory=EXPORT dumpfile=expdp_{$ESQUEMA}_${TIMESTAMP}.dmp EXCLUDE=STATISTICS
$echo Comprimiendo DUMP expdp_{$ESQUEMA}_${TIMESTAMP}.dmp
sudo zip $DIA_ACTUAL/expdp_{$ESQUEMA}_${TIMESTAMP}.zip /export/expdp_{$ESQUEMA}_${TIMESTAMP}.dmp
sudo chmod 777 $DIA_ACTUAL/expdp_{$ESQUEMA}_${TIMESTAMP}.zip
sudo rm /export/*.dmp
echo Enviando resultado de la exportación.
mailx -s "$ESQUEMA $TIMESTAMP Export backup logfile" $CORREO_ELECTRONICO < /export/expdp_{$ESQUEMA}_${TIMESTAMP}.log
echo Export completado el $TIMESTAMP
# Activar el envio de ficheros a un servidor.
#echo Subiendo fichero al FTP
#lftp -e "cd $ESQUEMA/DIA_ACTUAL; put $DIA_ACTUAL/expdp_{$ESQUEMA}_${TIMESTAMP}.zip; bye" -u usuario,password sftp://ipohostnameservidor
exit
0 comentarios:
Publicar un comentario