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;