Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml,v diff -u -r1.10 -r1.10.2.1 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml 18 Feb 2004 14:51:18 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/recovery.xml 5 Jul 2004 19:47:37 -0000 1.10.2.1 @@ -23,7 +23,7 @@ Backup and Recovery Strategy - + @@ -75,11 +75,11 @@ OpenACS installations comprise files and database contents. If you follow the reference install and put all files, including configuration files, in - /var/lib/aolserver/service0/, + /var/lib/aolserver/$OPENACS_SERVICE_NAME/, and back up the database nightly to a file in - /var/lib/aolserver/service0/database-backup, + /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup, then you can apply standard file-based backup strategies to - /var/lib/aolserver/service0 + /var/lib/aolserver/$OPENACS_SERVICE_NAME @@ -191,15 +191,15 @@ PostgreSQL Create a backup file and verify that it was created and has a reasonable size (several megabytes). - [root root]# su - service0 -[service0 service0]$ pg_dump -f /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp service0 -[service0 service0]$ ls -al /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp --rw-rw-r-x 1 service0 service0 4005995 Feb 21 18:28 /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp -[service0 service0]$ exit + [root root]# su - $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ pg_dump -f /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ ls -al /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp +-rw-rw-r-x 1 $OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME 4005995 Feb 21 18:28 /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ exit [root root]# -su - service0 -pg_dump -f /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp openacs-dev -ls -al /var/lib/aolserver/service0/database-backup/before_upgrade_to_4.6.dmp +su - $OPENACS_SERVICE_NAME +pg_dump -f /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp openacs-dev +ls -al /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/before_upgrade_to_4.6.dmp exit @@ -240,34 +240,34 @@ The last clause, - /var/lib/aolserver/service0/, + /var/lib/aolserver/$OPENACS_SERVICE_NAME/, specifies the starting point for backup. Tar defaults to recursive backup. - [root root]# su - service0 -[service0 service0]$ tar -cpsz --exclude /var/lib/aolserver/service0/etc/daemontools/supervise \ - --file /tmp/service0-backup.tar.gz /var/lib/aolserver/service0/ + [root root]# su - $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ tar -cpsz --exclude /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/supervise \ + --file /tmp/$OPENACS_SERVICE_NAME-backup.tar.gz /var/lib/aolserver/$OPENACS_SERVICE_NAME/ tar: Removing leading `/' from member names -[service0 service0]$ +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ Suffer a catastrophic failure on your production system (We'll simulate this step) - [root root]# svc -d /service/service0 -[root root]# mv /var/lib/aolserver/service0/ /var/lib/aolserver/service0.lost -[root root]# rm /service/service0 -rm: remove symbolic link `/service/service0'? y -[root root]# ps -auxw | grep service0 -root 1496 0.0 0.0 1312 252 ? S 16:58 0:00 supervise service0 + [root root]# svc -d /service/$OPENACS_SERVICE_NAME +[root root]# mv /var/lib/aolserver/$OPENACS_SERVICE_NAME/ /var/lib/aolserver/$OPENACS_SERVICE_NAME.lost +[root root]# rm /service/$OPENACS_SERVICE_NAME +rm: remove symbolic link `/service/$OPENACS_SERVICE_NAME'? y +[root root]# ps -auxw | grep $OPENACS_SERVICE_NAME +root 1496 0.0 0.0 1312 252 ? S 16:58 0:00 supervise $OPENACS_SERVICE_NAME [root root]# kill 1496 -[root root]# ps -auxw | grep service0 +[root root]# ps -auxw | grep $OPENACS_SERVICE_NAME [root root]# su - postgres -[postgres pgsql]$ dropdb service0 +[postgres pgsql]$ dropdb $OPENACS_SERVICE_NAME DROP DATABASE -[postgres pgsql]$ dropuser service0 +[postgres pgsql]$ dropuser $OPENACS_SERVICE_NAME DROP USER [postgres pgsql]$ exit logout @@ -284,15 +284,15 @@ You can do this with standard backup processes or by keeping copies of the install material (OS CDs, OpenACS tarball and supporting software) and repeating the install - guide. Recreate the service user (service0). + guide. Recreate the service user ($OPENACS_SERVICE_NAME). Restore the OpenACS files and database backup file. - [root root]# su - service0 -[service0 service0]$ cd /var/lib/aolserver -[service0 aolserver]$ tar xzf /tmp/service0-backup.tar.gz -[service0 aolserver]$ chmod -R 775 service0 -[service0 aolserver]$ chown -R service0.web service0 + [root root]# su - $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver +[$OPENACS_SERVICE_NAME aolserver]$ tar xzf /tmp/$OPENACS_SERVICE_NAME-backup.tar.gz +[$OPENACS_SERVICE_NAME aolserver]$ chmod -R 775 $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME aolserver]$ chown -R $OPENACS_SERVICE_NAME.web $OPENACS_SERVICE_NAME Restore the database @@ -310,7 +310,7 @@ Invoke the import command - imp service0/service0 FILE=/var/lib/aolserver/service0/database-backup/nighty_backup.dmp FULL=Y + imp $OPENACS_SERVICE_NAME/$OPENACS_SERVICE_NAME FILE=/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/nighty_backup.dmp FULL=Y @@ -320,32 +320,32 @@ If the database user does not already exist, create it. [root root]# su - postgres -[postgres ~]$ createuser service0 +[postgres ~]$ createuser $OPENACS_SERVICE_NAME Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) y CREATE USER [postgres ~]$ exit Because of a bug in Postgres backup-recovery, database objects are not guaranteed to be created in the right order. In practice, running the OpenACS initialization script is always sufficient to create any out-of-order database objects. Next, restore the database from the dump file. The restoration will show some error messages at the beginning for objects that were pre-created from the OpenACS initialization script, which can be ignored. -[root root]# su - service0 -[service0 ~]$ createdb service0 +[root root]# su - $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME ~]$ createdb $OPENACS_SERVICE_NAME CREATE DATABASE -[service0 ~]$ psql -f /var/lib/aolserver/service0/packages/acs-kernel/sql/postgresql/postgresql.sql service0 +[$OPENACS_SERVICE_NAME ~]$ psql -f /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-kernel/sql/postgresql/postgresql.sql $OPENACS_SERVICE_NAME (many lines omitted) -[service0 ~]$ psql service0 < /var/lib/aolserver/service0/database-backup/database-backup.dmp +[$OPENACS_SERVICE_NAME ~]$ psql $OPENACS_SERVICE_NAME < /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup/database-backup.dmp (many lines omitted) -[service0 ~]$ exit +[$OPENACS_SERVICE_NAME ~]$ exit [postgres ~]$ exit logout Activate the service - [root root]# ln -s /var/lib/aolserver/service0/etc/daemontools /service/service0 + [root root]# ln -s /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools /service/$OPENACS_SERVICE_NAME [root root]# sleep 10 -[root root]# svgroup web /service/service0 +[root root]# svgroup web /service/$OPENACS_SERVICE_NAME @@ -354,13 +354,13 @@ Automated Backup - The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/service0/database-backup and then backs up all of /var/lib/aolserver/service0 to a single zip file, and then copies that zip file to another computer. + The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup and then backs up all of /var/lib/aolserver/$OPENACS_SERVICE_NAME to a single zip file, and then copies that zip file to another computer. Make sure that the manual backup process described above works. - Customize the default backup script. Edit /var/lib/aolserver/service0/etc/backup.sh with your specific parameters. + Customize the default backup script. Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh with your specific parameters. @@ -370,7 +370,7 @@ Set this file to run automatically by adding a line to root's crontab. (Typically, with export EDITOR=emacs; crontab -e.) This example runs the backup script at 1:30 am every day. - 30 1 * * * * sh /var/lib/aolserver/service0/etc/backup.sh + 30 1 * * * * sh /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh @@ -384,32 +384,32 @@ current system time, down to the minute. For maximum safety, you can apply a tag to your current files. You will still need to back up your database. - Note that, if you did the CVS options in this document, the /var/lib/aolserver/service0/etc directory is not included in cvs and you may want to add it. - [root root]# su - service0 -[service0 service0]$ cd /var/lib/aolserver/service0 -[service0 service0]$ cvs commit -m "last-minute commits before upgrade to 4.6" + Note that, if you did the CVS options in this document, the /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc directory is not included in cvs and you may want to add it. + [root root]# su - $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs commit -m "last-minute commits before upgrade to 4.6" cvs commit: Examining . cvs commit: Examining bin (many lines omitted) -[service0 service0]$ cvs tag before_upgrade_to_4_6 +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs tag before_upgrade_to_4_6 cvs server: Tagging bin T bin/acs-4-0-publish.sh T bin/ad-context-server.pl (many lines omitted) -[service0 service0]$ exit +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ exit [root root]# -su - service0 -cd /var/lib/aolserver/service0 +su - $OPENACS_SERVICE_NAME +cd /var/lib/aolserver/$OPENACS_SERVICE_NAME cvs commit -m "last-minute commits before upgrade to 4.6" cvs tag before_upgrade_to_4_6 exit To restore files from a cvs tag such as the one used above: - [root root]# su - service0 -[service0 service0]$ cd /var/lib/aolserver/service0 -[service0 service0]$ cvs up -r current -[service0 service0]$ exit -su - service0 -cd /var/lib/aolserver/service0 + [root root]# su - $OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs up -r current +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ exit +su - $OPENACS_SERVICE_NAME +cd /var/lib/aolserver/$OPENACS_SERVICE_NAME cvs up -r current ($Id$)