RaQ 550 Simple Back Up
This program will do full backups every Sunday and on the 1st
of every month.
During the week, it will go ahead and do partial backups. Every file is
stored in:
/home/raqbaq/arch for easy access, and the ownership is changed to 'admin',
for easy download. Doing such applications as 'ncftpput', you can
store the
backups on a remote FTP server as well.
#!/bin/bash
# This application will do FULL backups weekly
# and parial backups during the week.Updating only files modified since the backup
RAQBAQDIR="/home/raqbaq"
RAQBAQDATADIR="/home/raqbaq/arch"
FULLBAQDATE="/home/raqbaq/arch/full-baq"
DOW=`date +%a`# Day of Week (Sun-Sat)
DOM=`date +%d`# Day of Month (1-31)
DMY=`date +%d%b%y`# Day, Month, Year
ADMINFILES="/root /home/.users" # All Admin Files
SITEFILES="/home/sites /home/.sites /home/spool /var/spool/MailScanner"# Site & User Content
SYSFILES="/etc /var/db /var/named /usr/sausalito" # Important System Files
#DBFILES="/var/lib/mysql /var/lib/pgsql"# Database Information
COMPNAME="`hostname`"
TARSWITCH="cfp" # Create File, Preserve File Info
# Make proper directories, check to see if files exist, etc.
if [ ! -e $RAQBAQDIR ]; then
mkdir $RAQBAQDIR
fi
if [ ! -e $RAQBAQDATADIR ]; then
mkdir $RAQBAQDATADIR
fi
if [ ! -e $FULLBAQDATE ]; then
AFT=""
else
AFT="--newer-mtime `cat $FULLBAQDATE`"
fi
if [ $DOM = "01" ]; then
AFT=""
echo $DMY > $FULLBAQDATE
if [ -e $RAQBAQDATADIR/$COMPNAME-adminfiles-$DMY.tar ]; then
rm $RAQBAQDATADIR/$COMPNAME-*-$DMY.tar
fi
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-adminfiles-$DMY.tar $AFT $ADMINFILES
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-sitefiles-$DMY.tar $AFT $SITEFILES
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-sysfiles-$DMY.tar $AFT $SYSFILES
#tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-dbfiles-$DMY.tar $AFT $DBFILES
elif [ $DOW = "Sun" ]; then
AFT=""
echo $DMY > $FULLBAQDATE
if [ -e $RAQBAQDATADIR/$COMPNAME-adminfiles-$DOW.tar ]; then
rm $RAQBAQDATADIR/$COMPNAME-*-$DOW.tar $AFT
fi
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-adminfiles-$DOW.tar $AFT $ADMINFILES
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-sitefiles-$DOW.tar $AFT $SITEFILES
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-sysfiles-$DOW.tar $AFT $SYSFILES
#tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-dbfiles-$DOW.tar $AFT $DBFILES
else
if [ -e $RAQBAQDATADIR/$COMPNAME-adminfiles-$DOW.tar ]; then
rm $RAQBAQDATADIR/$COMPNAME-*-$DOW.tar
fi
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-adminfiles-$DOW.tar $AFT $ADMINFILES
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-sitefiles-$DOW.tar $AFT $SITEFILES
tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-sysfiles-$DOW.tar $AFT $SYSFILES
#tar $TARSWITCH $RAQBAQDATADIR/$COMPNAME-dbfiles-$DOW.tar $AFT $DBFILES
fi
if [ ! -e $FULLBAQDATE ]; then
echo $DMY > $FULLBAQDATE
fi
mysqldump --all --all-databases --add-drop-table -pPASSWORD > $RAQBAQDATADIR/$COMPNAME-All-Databases-$DOW.sql
chown admin:users -R /home/raqbaq