webhost

16th January
2010
written by Tom Evans

I do a lot of code testing before pushing any changes production sites.  This is a script I created to copy files from the production domain to a test domain.  It also copies the production database to another database to ensure you don’t corrupt anything. 

This script is meant to be run via shell, or cron job.

If you get:
-bash: ./filename: /bin/sh^M: bad interpreter: No such file or directory
You will need to run a dos2unix filename via shell before you run it.

#!/bin/sh
 
# Abort on any errors
# set -e
 
# Script created 2010-01-15 by Tommy Evans (hostbunch.com) to dump a production database and import it into a test database
 
#############################################
###### Configure the below variables ########
#############################################
# The domain in which to copy files from.
export SRCDOMAIN="domain.com"
 
# The domain in which to copy files to.
export DESTDOMAIN="test.domain.com"
 
#The source SQL database
export SRCSQL="livesql.domain.com"
export SRCUSER="dbuser"
export SRCPSSWD="userpsswd"
export SRCDB="sitedb"
 
#The destination SQL database
export DESTSQL="testsql.domain.com"
export DESTUSER="testuser"
export DESTPSSWD="testpsswd"
export DESTDB="testdb"
 
## Modify the below for any custom SQL you wish to add. It will go at the bottom of this script
export CUSTOMSQL1="UPDATE config SET conf_value = 'http://${DESTDOMAIN}' WHERE conf_name = 'o_base_url';"
export CUSTOMSQL2="UPDATE config SET conf_value = 'http://${DESTDOMAIN}' WHERE conf_name = 'o_base_url_alt';"
export CUSTOMSQL3="TRUNCATE search_cache;"
export CUSTOMSQL4="TRUNCATE search_matches;"
export CUSTOMSQL5="TRUNCATE search_words;"
#############################################
###### End of configured variables ########
#############################################
 
echo "Delete all listed folders in ${DESTDOMAIN}"
#You can change these folders as you please
cd ${HOME}
mv ${DESTDOMAIN}/config.php ${DESTDOMAIN}/config2.php
mv ${DESTDOMAIN}/.htaccess ${DESTDOMAIN}/keep.htaccess
rm -dfr ${DESTDOMAIN}/attachments
rm -dfr ${DESTDOMAIN}/calendar
rm -dfr ${DESTDOMAIN}/cron
rm -dfr ${DESTDOMAIN}/images
rm -dfr ${DESTDOMAIN}/img
rm -dfr ${DESTDOMAIN}/include
rm -dfr ${DESTDOMAIN}/lang
rm -dfr ${DESTDOMAIN}/log
rm -dfr ${DESTDOMAIN}/plugins
rm -dfr ${DESTDOMAIN}/style
rm -dfr ${DESTDOMAIN}/uploads
rm -dfr ${DESTDOMAIN}/cache
 
echo "Copy listed folders from ${SRCDOMAIN} to ${DESTDOMAIN}"
cp -fR ${SRCDOMAIN}/attachments ${DESTDOMAIN}/attachments
cp -fR ${SRCDOMAIN}/calendar ${DESTDOMAIN}/calendar
cp -fR ${SRCDOMAIN}/cron ${DESTDOMAIN}/cron
cp -fR ${SRCDOMAIN}/images ${DESTDOMAIN}/images
cp -fR ${SRCDOMAIN}/img ${DESTDOMAIN}/img
cp -fR ${SRCDOMAIN}/include ${DESTDOMAIN}/include
cp -fR ${SRCDOMAIN}/lang ${DESTDOMAIN}/lang
cp -fR ${SRCDOMAIN}/log ${DESTDOMAIN}/log
cp -fR ${SRCDOMAIN}/plugins ${DESTDOMAIN}/plugins
cp -fR ${SRCDOMAIN}/style ${DESTDOMAIN}/style
cp -fR ${SRCDOMAIN}/uploads ${DESTDOMAIN}/uploads
 
echo "Create cache folder in ${DESTDOMAIN}"
cd ${HOME}/${DESTDOMAIN}
mkdir cache
chmod 0755 cache
 
echo "Copy all root files from ${SRCDOMAIN} to ${DESTDOMAIN}"
cd ${HOME}
cp -uf ${SRCDOMAIN}/* ${DESTDOMAIN}/
cp -f ${SRCDOMAIN}/.htaccess ${DESTDOMAIN}/.htaccess
 
#remove unneeded files
echo "Removing unneeded root files in ${DESTDOMAIN}"
rm -f ${DESTDOMAIN}/0
rm -f ${DESTDOMAIN}/core
rm -f ${DESTDOMAIN}/Web.config
 
#replace config.php and .htaccess
echo "Renaming saved config.php and .htaccess in ${DESTDOMAIN}"
mv -f ${DESTDOMAIN}/config2.php ${DESTDOMAIN}/config.php
#mv -fv ${DESTDOMAIN}/keep.htaccess ${DESTDOMAIN}/.htaccess
 
#clean up ${SRCDB} before the dump
echo "Cleaning up ${SRCSQL}"
mysqlcheck --auto-repair -s -u${SRCUSER} -p${SRCPSSWD} -h ${SRCSQL} -B ${SRCDB}
 
echo "Dumping ${SRCSQL} to ${DESTSQL}"
#dump ${SRCDB} to ${DESTDB} and a few extra steps to ensure subject on index work
mysqldump -u${SRCUSER} -p${SRCPSSWD} -h ${SRCSQL} --opt -f -n ${SRCDB} | mysql -u${DESTUSER} -p${DESTPSSWD} -h ${DESTSQL} -D ${DESTDB}
 
echo "Updating ${DESTSQL} with new URL info and truncating search tables"
 
### Custom SQL is here
mysql -f -n -u${DESTUSER} -p${DESTPSSWD} -h ${DESTSQL} -D ${DESTDB} -e "${CUSTOMSQL1}${CUSTOMSQL2}${CUSTOMSQL3}${CUSTOMSQL4}${CUSTOMSQL5}"
Tags: , ,
4th October
2006
written by Tom Evans

DreamHost.com has officially doubled their package plans in terms of bandwidth & web space. They now provide 2 TB of bandwidth per month as well as 200 GB of disk space for their minimal package. The great thing is the pricing is low — just $119.00 a year. And that web space and bandwidth IS resell-able. Read on for more information.

Below are some discount codes:
SUPER80“$80 off all yearly plans!”
SUPER90“$90 off all yearly plans!”
1MONTH990“Waived Setup fee! $9.90″

10th January
2006
written by Tom Evans

I created Havoc Offroad using php-Nuke with phpbb and for a few months I enjoyed how it performed.  As the community grew and members began to expect more from the site it became too much to keep the code patched and the mods coming.  So, I looked for an alternative to phpbb and found punbb.

I was going to redesign the site so it would be driven from the forum but have a main homepage with a calendar and news link that was automatically pulled from the forum.  Well…I was very pleased to find phpfrontpage which is a modded punbb (link can be found in punbb forum) that is exactly what I was planning on coding…so now I’m very happy because it would have taken me a few months to do it all…and now it’s all there.

I used the punbb converter and imported my database from Havoc and then I ran the punbb1.2tophpfrontpage (file name is something like that).  Now it’s all there and a guy off punres.org is helping me by writing a converter for the attachment mod to get the images that were uploaded with phpbb attach mod.

Update 6/29/2006: Site’s been up @ http://www.havocoffroad.com for several months now.  The group over there didn’t really like the changes because they were so drastic and they had to adjust to new links and locate different things. They’ve gotten used to the new design now though…and I believe they are enjoying it, but of course there are always places to improve.  I was able to convert all the attachments from phpbb to punbb using a script that frank H. from punbb gave me.  It took a lot of changes but without his original script I would never have gotten it.

old version: http://v1.havocoffroad.com
new version: http://www.havocoffroad.com
test version: http://test.havocoffroad.com

Tags: ,