<!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	-->Backup and Restore of Thalia Clusters to the Eurydice backup server.

Setup of Remote Server to be backed up.
# Login to remote server (part of 	Thalia cluster) as root user.
# Create needed directories

mkdir /root/.ssh

mkdir /home/rmtbckup
# Create ssh key

ssh-keygen \-t rsa \-b 1024

\[press return until you are back to command line - do not use encrypted private keys, as this will cause the cron job to fail\]
# Copy ssh key to eurydice.mit.edu

scp /root/.ssh/id_rsa.pub \

rmtbckup@eurydice.mit.edu:/home/rmtbckup/.ssh/`hostname`-id_rsa.pub
# Login to eurydice as rmtbckup  	\[note, this should be done from another thalia system, as Ubuntu 	does not currently have working Kerberos configurations\]

# Add public key to authorized key 	lists and deleted from eurydice

## On Eurydice:

cd /home/rmtbckup/.ssh

cat \[remote hostname\]-id_rsa.pub >> authorized_keys

rm \[remote hostname\]-id_rsa.pub
## On remote server:

cd /root/.ssh

cat id_rsa.pub >> authorized_keys
# Install the zinc-backup.py script 	into /root on the remote server, and add the following line to 	/var/spool/cron/root:

30 3 * * * /root/zinc-backup.py >> /loc/logs/zinc-backup.log 2>&1 &
# Test backup per manual backup 	procedures (below)

Procedures to manually backup Thalia clusters.
# Hypothetically, only one stack in 	a thalia cluster needs to be backed up, however, this has not been 	tested.

# Do NOT stop services for the 	backup, this is a hot backup procedure.

# Login to the MySQL server of the 	Thalia cluster as root, and run the backup script:

/root/zinc-backup.py

Alternatively, you could backup the database with the myslqdump command:

mysqldump \--single-transaction \-q \-B "+dbname+" \-r /home/rmtbckup/`hostname`-db-`date \

%F+%H+$M`.sql
# Login to Alfresco server of the 	Thalia cluster as root, and run the backup script:

/root/zinc-backup.py

Alternatively, you could backup the filestore with the tar command:

tar \-czf /home/rmtbckup/`hostname`-file-`date \+%F-%H-%M`.tgz /home/\[alf_home\]/alf_data/\*
# Login to Eurydice as rmtbckup and 	check that the files are there.

# Let files remain on the local 	server for capture onto Tape via Tivoli.

Procedures to restore Thalia cluster from backup:
# Use scp to transfer files from 	Eurydice to the remote servers in the cluster.  Since Kerberos does 	not function well from Ubuntu, you will need to login to a Thalia 	server, then into Eurydice. The files with '-db-' in their names are 	the database backups and the files with '-file-' in their names are 	the filestore (Alfresco) backups.  Match hostname at the beginning 	of the file to the hostname of the remote server.

# Login to the top level Thalia 	servers in the cluster, and stop Thalia.  Currently, this is 	isda-thalia5 and isda-thalia8.

/etc/init.d/web stop
# Login to the Alfresco server in 	the cluster, and stop Alfresco.

/etc/init.d/web stop
# Clear the filestore.

rm \-rf  $ALF_HOME/alf_data
# Untar the file backup:

tar \-xjvf /home/rmtbckup/`hostname`-file-\[date of backup\].bz2 $ALF_HOME/alf_data
# Login to the MySQL server, and 	dump the database.  The database name is available in the 	alfresco/extensions directory in the 	custom-db-connections.properties file.

mysql

drop database \[db.name\];

revoke all privileges, grant option from \[db.username\]@*;

drop user \[db.username\]@*;
# Source the sql backup, and grant 	privledges to the Alfresco user.  See 	custom-db-connections.properites.

source /home/rmtbckup/\[hostname\]-db-\[db.name\]-\[date of backup\].sql;

grant all on \[db.name\].\* to \[db.username\]@'localhost' identified by \[db.password\] with

grant option;

grant all on \[db.name\].\* to \[db.username\]@'localhost.localdomain' identified by \[db.password\] with grant option;

grant all on \[db.name\].\* to \[db.username\]@\[IP of Alfresco server\] identified by \[db.password\] with grant option;

grant all on \[db.name\].\* to \[db.username\]@\[hostname of Alfresco server\] identified by \[db.password\] with grant option;
# Login to Alfresco server and 	restart Alfresco.

/etc/init.d/web start
# Login to Thalia server and restart 	Thalia.

/etc/init.d/web start
# Test cluster functionality.