Skip to main content

backup Satellite (embedded) database

A simple script to backup the embedded Oracle database included with Satellite 5.4.1


[root@rhnsat01 Satellite]# cat db_backup.sh 
#!/bin/bash

PRETTY_DATE=`date +%Y%m%d`
BACKUP_DIR=/rhnsat-backup/${PRETTY_DATE}
OUTPUT_LOG=/var/log/rhnsat-backup.log

mkdir ${BACKUP_DIR}
if [ ! -d ${BACKUP_DIR} ]
then
  echo "ERROR: unable to create Backup Dir: ${BACKUP_DIR}"
  exit 9
fi

# MESSAGE TO USER ON CONSOLE
echo "NOTE: you can find output at: ${OUTPUT_LOG}"

# BEGIN LOGGING OF THE SCRIPT OUTPUT
echo "Script ran at: `date +%Y%m%d-%H%M`" > ${OUTPUT_LOG}
echo "start: `date +%Y%m%d-%H%M`" >> ${OUTPUT_LOG}

# UPDATE PERMISSIONS OF THE BACKUP DIRECTORY TO ALLOW ORACLE
# TO WRITE
echo "chown -R oracle:dba /rhnsat-backup/*" >> ${OUTPUT_LOG}
chown -R oracle:dba /rhnsat-backup/* >> ${OUTPUT_LOG}

# CREATE A REPORT OF THE CURRENT ORACLE DB USAGE
echo "su - oracle -c \"/usr/bin/db-control report\"" >> ${OUTPUT_LOG}
su - oracle -c "/usr/bin/db-control report" >> ${OUTPUT_LOG}

# STOP SATELLITE SERVER (SHUTDOWN DB)
echo "/usr/sbin/rhn-satellite stop" >> ${OUTPUT_LOG}
/usr/sbin/rhn-satellite stop >> ${OUTPUT_LOG}

# RUN BACKUP VIA db-control UTILITY
echo "su - oracle -c \"/usr/bin/db-control backup $BACKUP_DIR\"" >> ${OUTPUT_LOG}
su - oracle -c "/usr/bin/db-control backup $BACKUP_DIR" >> ${OUTPUT_LOG}

# START SATELLITE SERVER
echo "/usr/sbin/rhn-satellite start" >> ${OUTPUT_LOG}
/usr/sbin/rhn-satellite start >> ${OUTPUT_LOG}

# EXAMINE DB BACKUP INTEGRITY
echo "/usr/bin/db-control examine ${BACKUP_DIR}" >> ${OUTPUT_LOG}
/usr/bin/db-control examine ${BACKUP_DIR} >> ${OUTPUT_LOG}
echo "NOTE: To examine backup fully use" >> ${OUTPUT_LOG}
echo "      su - oracle -c \"/usr/bin/db-control verify ${BACKUP_DIR}\"" >> ${OUTPUT_LOG}
echo "NOTE: To restore from this backup, use:" >> ${OUTPUT_LOG}
echo "      su - oracle -c \"/usr/bin/db-control restore ${BACKUP_DIR}\"" >> ${OUTPUT_LOG}

# INDICATE FINISH TIME IN LOG
echo "finish: `date +%Y%m%d-%H%M`" >> ${OUTPUT_LOG}

exit 0
# ***************************
# NOTES
# ***************************
# /etc/cobbler
# /var/satellite

Comments

Popular posts from this blog

PXE boot a LiveCD image

Summary: I have wanted to build a kickstart environment which hosted a "rescue CD" or LiveCD to allow you to boot over the network after you blew your stuff up and needed to repair a few things.  Today I have worked through a method of doing so, with the help of the people who published a succinct script with the Red Hat Enterprise Virtualization Hypervisor.  (the script will be at the bottom of this post - if I have somehow not followed the GPL, please let me know and I will correct whatever is necessary) NOTE/Warning: The boot will fail due the initrd being too large (645mb).  I'm not sure how to proceed.  This procedure worked for RHEVh, because it is quite a bit smaller.  Hopefully I can report back with progress on this? :-$ Procedure: download your LiveCD image to /export/isos/RESCUE/Fedora-16-i686-Live-Desktop.iso # cd /var/tmp # vi livecd-iso-to-pxeboot (populate the file with the script shown below) # chmod 754 ./livecd-iso-to-pxeb...

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)"

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)" One issue that may cause this to arise is if you managed to break your /etc/fstab We had an engineer add a line with the intended options of "nfsvers=3" but instead added "-onfsvers=3" and it broke the system fairly catastrophically.

P2V using dd for KVM-QEMU guest

Preface: I have certainly not exhaustively tested this process.  I had a specific need and found a specific solution that worked. Situation:  I was issued a shiny new laptop running Red Hat Enterprise Linux 7 (with Corp VPN, certs, Authentication configuration, etc...)  The image was great, but I needed more flexibility on my bare metal.  So, my goal was to P2V the corporate image so I could just run it as a VM. * Remove corporate drive and install new SSD * install corp drive in external USB-3 case * Install RHEL 7 on new SSD * dd old drive to a disk-image file in a temp location which will be an image which is the same size as your actual drive (unless you have enough space in your destination to contain a temp and converted image) * convert the raw disk-image to a qcow file while pushing it to the final location - this step should reduce the disk size - however, I believe it will only reduce/collapse zero-byte blocks (not just free space - i.e. if you de...