Being a lazy programmer I made a script to automate nightly updates. It's little more than cut and paste from the wiki, but I think it might be usefull for somebody. Use it and mod it to your liking ;-)
Run it from the ispcp root directory (that would be the "trunk" dir in case you're following trunk).
Updated: version 0.0.1, including a proper license an credits. Very alpha but seems to work.
Code:
#!/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"
# Backup current installation
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
# Compile ispcp. Install will copy files to /tmp/ispcp
make clean install
# Update current installation
/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
# Some old releases require this. not necessary for current ones.
#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
ispcomm