Example shell scripts (bash or sh) that automate and easyate tasks from within the dreamhost ssh env
Place this script backup.sh in your DOCROOT for each of your sites.
MYSITES : /web/username/sites/askapache.com MYSITE : askapache.com MYSITEBK: askapachecom MYUSER : username MYGROUP : groupname MYGROUPS: MYFNAME : askapachecom-01x16x07.tgz MYFNAMEX: askapachecom-01x16x07-08x43.tgz MYBNAME : /web/username/backups/SITES/askapache.com/askapachecom-01x16x07.tgz MYBNAMEX: /web/username/backups/SITES/askapache.com/askapachecom-01x16x07-08x43.tgz MYBDIR : sites/askapache.com/
#!/bin/sh
# SETTINGS
export MYSITES=`pwd -L`
export MYSITE=`basename ${MYSITES}`
export MYSITEBK=${MYSITE%%.*}${MYSITE#*.}
export MYUSER=`whoami`
export MYGROUP=`groups`
#====================== GLOBAL VARIABLES =================================
# FILES #
export MYFNAME=${MYSITEBK}-`date +%mx%dx%y.tgz`
export MYFNAMEX=${MYSITEBK}-`date +%mx%dx%y-%Hx%M.tgz`
export MYBNAME=${HOME}/backups/SITES/${MYSITE}/${MYFNAME};
export MYBNAMEX=${HOME}/backups/SITES/${MYSITE}/${MYFNAMEX};
export MYBDIR=sites/${MYSITE}/
# COLORS #
cR='E[31;1m'
cG='E[32;1m'
cY='E[33;1m'
#====================== GLOBAL FUNCTIONS =================================
# pheader #
function pheader {
cd ${HOME}
clear
tput sgr0
echo -e "$cGnn"
echo ' _____________________________________________________________________ '
echo ' | |'
echo ' | |'
echo ' | |'
echo " | SiteBack v.1.1 ${MYSITE}"
echo ' | |'
echo ' | |'
echo ' | |'
echo ' _____________________________________________________________________ '
echo -e "$cGnn"
tput sgr0
sleep 3
}
# pfooter #
function pfooter {
tput sgr0
echo -e "$cG"
echo ' _____________________________________________________________________ '
echo ' | |'
echo ' | SiteBack COMPLETED SUCCESSFULLY |'
echo ' _____________________________________________________________________ '
echo -e "nnn"
tput sgr0
cd ${OLDPWD}
}
#====================== MAIN =================================
pheader
echo -e "$cYn @@@ CHECK FOR PRESENCE OF BACKUP FILE"
if [ -e $MYBNAME ] ; then
echo -e "$cR !!! FILE FOUND.. CHANGING DESTINATION"
MYBNAME=${MYBNAMEX}
else
tput sgr0
fi
echo -e "$cGn [ DONE ]nn"
echo -e "$cYn @@@ CHANGING FILES TO CORRECT GROUP AND USER PERMISSIONS... "
echo -e "$cGn [ DONE ]nn"
sleep 2
echo -e "$cYn @@@ BACKUP IN PROGRESS... "
sleep 5
tput sgr0
tar -czf ${MYBNAME} ${MYBDIR}
echo -e "$cGn [ DONE ]nn"
pfooter
exit 0;