Skip to content

Instantly share code, notes, and snippets.

@non7top
Created September 27, 2015 21:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save non7top/2e363bfba29465ec30f0 to your computer and use it in GitHub Desktop.
Save non7top/2e363bfba29465ec30f0 to your computer and use it in GitHub Desktop.
# Purpose : System backup
# Modified 14 Feb 2011
echo "Initializing backup process - " `date`
logger -t backup "System Backup started"
backvol=/bkpv
#
# Sanity Check
#
if [[ `mount | egrep -c "/bkpv/"` -eq 0 ]] ; then
logger -t backup "System Backup: FATAL, no mounted $backvol found"
echo "System Backup: FATAL, no mounted $backvol found"
exit 1
fi
#
# Keep one day back
#
if [[ ! -d $backvol/previousday ]] ; then
logger -t backup "System Backup: ERROR, no $backvol/previousday directory found"
else
rm $backvol/previousday/*
mv $backvol/dump* $backvol/previousday/
mv $backvol/old* $backvol/previousday/
fi
#
# Save some common config files
#
echo "======== Starting save of key server files to /bkpv/old\.\* at `date`"
cp /etc/fstab $backvol/old.fstab
cp /etc/mtab $backvol/old.mtab
cp /etc/services $backvol/old.services
cp /etc/resolv.conf $backvol/old.resolv.conf
cp /etc/nsswitch.conf $backvol/old.nsswitch.conf
cp /etc/hosts $backvol/old.hosts
cp /etc/sysconfig/network $backvol/old.sysconfig_network
cp /etc/passwd $backvol/old.passwd
cp /etc/shadow $backvol/old.shadow
cp /etc/group $backvol/old.group
cp /etc/cron.d/backup $backvol/old.cron_backup
if [[ -a /etc/oratab ]] ; then cp /etc/oratab $backvol/old.oratab ; fi
if [[ -a /etc/appwff ]] ; then cp /etc/appwff $backvol/old.appwff ; fi
if [[ -a /etc/oraadmin ]] ; then cp /etc/oraadmin $backvol/old.oraadmin ; fi
if [[ -a /etc/orawff ]] ; then cp /etc/orawff $backvol/old.orawff ; fi
#
# tar up some common/critial recovery file sets
#
cd /etc/sysconfig/network-scripts/
F=`ls ifcfg-eth?`
tar czf $backvol/old.interfaces.tgz -C /etc/sysconfig/network-scripts/ ${F}
tar czf $backvol/old.cron_d.tgz -C /etc/ cron.d
tar czf $backvol/old.cron_daily.tgz -C /etc/ cron.daily
tar czf $backvol/old.spool_cron.tgz -C /var/spool/ cron
#
# Save some configuration "documentations"
#
/sbin/fdisk -l > $backvol/old.fdisk
if [[ `ls /dev/mapper/V* 2>/dev/null | wc -l` -ne 0 ]] ; then
/usr/sbin/pvscan
/usr/sbin/pvdisplay > $backvol/old.pvdisplay
/usr/sbin/vgcfgbackup --file $backvol/old.vgcfgbackup
fi
/sbin/ip address > $backvol/old.ip_addresses
/sbin/ip route > $backvol/old.ip_routes
#
# Backup local filesystems
#
echo "======== Starting save of file system dumps to /bkpv/ at `date`"
for V in `df --local --type=ext3 --type=ext2 --type=ext4 | egrep -v "Filesystem" | egrep "%" | cut -f2 -d"%"`
do
if [[ ${V} == "/tmp" || ${V} == "/temp" || ${V} == "/oracle_temp" ]] ; then
continue
fi
T=`echo ${V} | sed -e "s#/#_#g"`
if [[ ${T} == "_" ]] ; then
T="root"
else # strip leading underscore
T=`echo ${T} | sed -e "s#^_##"`
fi
nice -n 19 /sbin/dump -0 -b 64 -f /bkpv/dump.${T} ${V}
if [[ $? -ne 0 ]] ; then
logger -t backup "System Backup: ERROR on dump of ${V}, status $?"
fi
done
nice -n 19 /bin/gzip -1 /bkpv/dump*
if [[ $? -ne 0 ]] ; then
logger -t backup "System Backup: ERROR on gzip of dump files, status $?"
fi
echo "System Backup finished - " `date`
logger -t backup "System Backup finished"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment