BASH скрипт переноса MODX из теста в паблик

Вчера, с целью использования на шаред-хостинге NIC.ru понадобилось написать bash скрипт для переноса сайта из тестового расположения в публичное (в пределах одного сервера).

Скрипт использует rsync для синхронизации файлов и mysqldump для базы данных.

#!/bin/bash
 
# Config
dbhost="*dbhost*"
dbuser="*dbuser*"
dbpass="*dbpass*"
 
donor_site="test_version.com"
donor_db="testversion_db_name"
 
target_site="public_version.com"
target_db="public_version_db_name"
 
 
# Set vars
tmp="tmp"
DIR="$( cd "$( dirname "$0" )" && pwd )"
echo $DIR
BASE="$( cd .. && pwd )"
echo $BASE
 
 
# Clean temp folder
echo -ne "Cache clean... "
rm -r $tmp
mkdir $tmp
rc=$?
if ; then
 echo "error"
 exit $rc
else
 echo "OK"
fi
 
echo -ne "Dumping...     "
mysqldump -h$dbhost -u$dbuser -p$dbpass $donor_db > $DIR/$tmp/dump.sql
rc=$?
if ; then
 echo "error"
 exit $rc
else
 echo "OK"
fi
 
echo -ne "Dump upload... "
mysql -h$dbhost -u$dbuser -p$dbpass $target_db < $DIR/$tmp/dump.sql
rc=$?
if ; then
 echo "error"
 exit $rc
else
 echo "OK"
fi
 
 
echo -ne "MODX cache clean... "
rm -rf $BASE/$donor_site/docs/core/cache	#clean cache
rc=$?
if ; then
 echo "OK"
else
 echo "error"
 exit $rc
fi
 
echo -ne "Sync files...  "
rsync -r --inplace --partial --delete-after --exclude=*access --exclude=robots.txt --exclude=config.inc.php --exclude=config.core.php --no-compress $BASE/$donor_site/docs/ $BASE/$target_site/docs
rc=$?
if ; then
 echo "OK"
else
 echo "error"
echo "Manual sync files...  "
echo "rsync -r --inplace --partial --delete-after --exclude=*access --exclude=robots.txt --exclude=config.inc.php --exclude=config.core.php --no-compress"
echo "from $BASE/$donor_site/docs/"
echo "to $BASE/$target_site/docs"
 exit $rc
fi
 
 
# Return code
exit 0