FREE THOUGHT · FREE SOFTWARE · FREE WORLD

Home » Shell Scripting » Shell Scripts for Dreamhost

by comment

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


Backup Site Directory

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/

The Script

#!/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;

Tags

Comments Welcome

Information is freedom. Freedom is non-negotiable. So please feel free to modify, copy, republish, sell, or use anything on this site in any way at any time ;)

My Online Tools

Popular Articles
Hacking and Hackers

The use of "hacker" to mean "security breaker" is a confusion on the part of the mass media. We hackers refuse to recognize that meaning, and continue using the word to mean someone who loves to program, someone who enjoys playful cleverness, or the combination of the two.
-- Richard M. Stallman


It's very simple - you read the protocol and write the code. -Bill Joy

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License, just credit with a link.
This site is not supported or endorsed by The Apache Software Foundation (ASF). All software and documentation produced by The ASF is licensed. "Apache" is a trademark of The ASF. NCSA HTTPd.
UNIX ® is a registered Trademark of The Open Group. POSIX ® is a registered Trademark of The IEEE.

+Askapache | htaccess.io | htaccess.guru

Site Map | Contact Webmaster | License and Disclaimer | Terms of Service | @Htaccess

↑ TOPMain