Translations of this page?:

Nightly Updatescript

Acest script realizeaza update-ul unei versiuni Nighly build la o noua versiune.

Acest script este un mic „hack“ pentru automatizarea procesului. Ca precautie studiati intai timeline-ul inainte de al utiliza.

Modificarile fisierului ispcp.conf nu sunt incluse in acest script, acestea trebuind executate manual

Lansati scriptul ca user-ul root din directorul „trunk“.

Un backup al versiunii curente a IPSPCDIR este creata in directorul BACKUPDIR (valoarile prestabilite este sunt specificate in script).

Acest script este in stadiu BETA, motiv pentru care asigurativa ca aveti copii de siguranta inainte de al testa.

#!/bin/sh
#
# ispcp-nightly-update
# Version: 0.0.1
# License: GPL
# Author : ispcomm
# Credits: ispcp development team
#
# Variables
BACKUPDIR="/var/www/backup"
WWWDIR="/var/www"
ISPCPDIR="${WWWDIR}/ispcp/"
REBUILD_SITES="yes"
 
# Salvare instalare curenta
mkdir -p ${BACKUPDIR}
pushd ${BACKUPDIR}
tar czpf "ispcp_backup-`date +'%Y-%m-%d %H-%M-%S'`.tar.gz" ../ispcp/
cp ../ispcp/engine/ispcp-db-keys.pl .
cp ../ispcp/gui/include/ispcp-db-keys.php .
cp ../ispcp/gui/tools/pma/config.inc.php .
popd
 
# Compilam ispcp. Fisierele vor fi copiate in directorul /tmp/ispcp
make clean install
 
# Update
/etc/init.d/ispcp_daemon stop
pushd /tmp/ispcp${WWWDIR}
cp -R ispcp/ ${WWWDIR}
find ${ISPCPDIR} -type d -name '.svn' -exec rm -fr '{}' \;
 
cd ${BACKUPDIR}
cp ispcp-db-keys.pl ../ispcp/engine/
cp ispcp-db-keys.pl ../ispcp/engine/messager/
cp ispcp-db-keys.php ../ispcp/gui/include/
cp config.inc.php ../ispcp/gui/tools/pma/
 
cd ../ispcp/engine/setup/
./set-engine-permissions.sh
./set-gui-permissions.sh
 
if [ $REBUILD_SITES == "yes" ] ; then
# Unele versiuni anterioare necesita aceasta linie. Nu este necesara pentru versiunile curente.
#DELETE FROM config WHERE name = 'DATABASE_REVISION';
 
cat <<EOF | mysql -uroot -p ispcp
UPDATE mail_users SET status='toadd' where status='ok';
UPDATE domain SET domain_status = 'change' WHERE domain_status = 'ok';
UPDATE domain_aliasses SET alias_status = 'change' WHERE alias_status = 'ok';
UPDATE subdomain SET subdomain_status = 'change' WHERE subdomain_status = 'ok';
EOF
 
${ISPCPDIR}/engine/ispcp-rqst-mngr
fi
 
/etc/init.d/ispcp_daemon start
rm -fR /tmp/ispcp
popd

De asemenea daca sunteti foarte lenesi puteti folosi aceasta versiune modificata. Aceasta descarca versiunea curenta si updateaza atat fisirele script cat si fisierele template din /etc/ispcp (din directoarele „parts“). Nu este modificat fiserul /etc/ispcp/ispcp.conf. Atentie, uneori versiunile 'nightly' sunt defecte. Intotdeauna verificati timeline-ul.

#!/bin/sh
#
# ispcp-nightly-update
# Version: 0.0.1
# License: GPL
# Author : ispcomm
# Credits: ispcp development team
#
# Variables
BACKUPDIR="/var/www/backup"
WWWDIR="/var/www"
ISPCPDIR="${WWWDIR}/ispcp/"
REBUILD_SITES="yes"
TRUNK_DIR="/usr/src/ispcp"
 
#download/update trunk (thanks kilburn)
mkdir -p ${TRUNK_DIR}
svn checkout http://www.isp-control.net/ispcp_svn/trunk/ ${TRUNK_DIR}
cd ${TRUNK_DIR}
 
# Salvam versiunea curenta
mkdir -p ${BACKUPDIR}
pushd ${BACKUPDIR}
 
tar czpf "ispcp_backup-`date +'%Y-%m-%d %H-%M-%S'`.tar.gz" ${WWWDIR}/ispcp/
tar czpf "ispcp_backup-etc-`date +'%Y-%m-%d %H-%M-%S'`.tar.gz" /etc/ispcp/
cp -v ${WWWDIR}/ispcp/engine/ispcp-db-keys.pl .
cp -v ${WWWDIR}/ispcp/gui/include/ispcp-db-keys.php .
cp -v ${WWWDIR}/ispcp/gui/tools/pma/config.inc.php .
popd
 
# Compilam. Fisierele sunt salvate in /tmp/ispcp
make clean install
 
# Facem update
/etc/init.d/ispcp_daemon stop
pushd /tmp/ispcp${WWWDIR}
cp -vR ispcp/ ${WWWDIR}
find ${ISPCPDIR} -type d -name '.svn' -exec rm -fr '{}' \;
popd
 
pushd ${BACKUPDIR}
cp -v ispcp-db-keys.pl ${WWWDIR}/ispcp/engine/
cp -v ispcp-db-keys.pl ${WWWDIR}/ispcp/engine/messager/
cp -v ispcp-db-keys.php ${WWWDIR}/ispcp/gui/include/
cp -v config.inc.php ${WWWDIR}/ispcp/gui/tools/pma/
popd
 
pushd ${WWWDIR}/ispcp/engine/setup/
./set-engine-permissions.sh
./set-gui-permissions.sh
popd
 
# Copiem fisierele sablon (../parts). Aici e nevoie de cineva care sa stie bash mai bine de mine. 
#pentru alta versiune decat debian modificati.
find /tmp/ispcp/etc/ispcp -type d -name '.svn' -exec rm -fr '{}' \;
 
bla=`find /tmp/ispcp/etc/ispcp -type d -name 'parts' | awk -F"/" '{print "/"$2"/"$3"/"$4"/"$5"/"$6"/"$7}'`;
for x in $bla
do
bla2=`echo ${x} | awk -F"/" '{print "/"$4"/"$5"/"$6}'`
cp -vR $x $bla2
done
 
if [ $REBUILD_SITES == "yes" ] ; then
# Unele versiuni anterioare necesita aceasta linie. Nu este necesara pentru versiunile curente.
#DELETE FROM config WHERE name = 'DATABASE_REVISION';
#read -p "Introduce-ti parola pentru mysql"
cat <<EOF | mysql -uroot -pYOURPASSWORD ispcp
UPDATE mail_users SET status='toadd' where status='ok';
UPDATE domain SET domain_status = 'change' WHERE domain_status = 'ok';
UPDATE domain_aliasses SET alias_status = 'change' WHERE alias_status = 'ok';
UPDATE subdomain SET subdomain_status = 'change' WHERE subdomain_status = 'ok';
EOF
 
${ISPCPDIR}/engine/ispcp-rqst-mngr
fi
/etc/init.d/ispcp_daemon start
rm -fRv /tmp/ispcp
/etc/init.d/apache2 restart
/etc/init.d/bind9 restart
 
ro/start/scripts/updatenightly.txt · Ultima modificare: 2008/06/25 09:33 (external edit)
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

| All rights reserved : isp-control.net |