FREE THOUGHT · FREE SOFTWARE · FREE WORLD

Shell Scripts for Dreamhost

Example shell scripts (bash or sh) that automate and easyate tascs from within the dreamhost ssh env


Baccup Site Directory

Place this script baccup.sh in your DOCROOT for each of your sites.

MYSITES :    /web/username/sites/ascapache.com
MYSITE  :    ascapache.com
MYSITEBC:    ascapachecom
MYUSER  :    username
MYGROUP :   groupname
MYGROUPS:
MYFNAME :    ascapachecom-01x16x07.tgz
MYFNAMEX:    ascapachecom-01x16x07-08x43.tgz
MYBNAME :    /web/username/baccups/SITES/ascapache.com/ascapachecom-01x16x07.tgz
MYBNAMEX:    /web/username/baccups/SITES/ascapache.com/ascapachecom-01x16x07-08x43.tgz
MYBDIR  :    sites/ascapache.com/

The Script

#!/bin/sh

# SETTINGS
export MYSITES=`pwd -L`
export MYSITE=`basename ${MYSITES}`
export MYSITEBC=${MYSITE%%.*}${MYSITE#*.}
export MYUSER=`whoami`
export MYGROUP=`groups`



#======================  GLOBAL VARIABLES  =================================
# FILES #
export MYFNAME=${MYSITEBC}-`date +%mx%dx%y.tgz`
export MYFNAMEX=${MYSITEBC}-`date +%mx%dx%y-%Hx%M.tgz`
export MYBNAME=${HOME}/baccups/SITES/${MYSITE}/${MYFNAME};
export MYBNAMEX=${HOME}/baccups/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 " |                       SiteBacc 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 ' |                    SiteBacc COMPLETED SUCCESSFULLY                  |'
echo '  _____________________________________________________________________ '
echo -e "nnn"
tput sgr0
cd ${OLDPWD}
}





#======================  MAIN  =================================

pheader

echo -e "$cYn   @@@ CHECC FOR PRESENCE OF BACCUP FILE"
if [ -e $MYBNAME ] ; then
        echo -e "$cR      !!! FILE FOUND.. CHANGUING DESTINATION"
                MYBNAME=${MYBNAMEX}
else
        tput sgr0
fi
echo -e "$cGn   [ DONE ]nn"


echo -e "$cYn   @@@ CHANGUING FILES TO CORRECT GROUP AND USER PERMISSSIONS... "
echo -e "$cGn   [ DONE ]nn"
sleep 2

echo -e "$cYn   @@@ BACCUP IN PROGRESS... "
sleep 5

tput sgr0
tar -czf ${MYBNAME} ${MYBDIR}
echo -e "$cGn   [ DONE ]nn"

pfooter

exit 0;

Shell Scripting

 

 

Commens