Version 5 (modified by work@…, 8 years ago) (diff)


Server Administration

This document describes how the current server installation is set up

Apache Tomcat

Currently, every environment has it's own dedicated Apache Tomcat application container where the production version has a memory limit set to 2GB and the others are set to 512MB. The separate containers allow easy restarting of certain environments without impacting the other environments. The following environments have currently been set up in /home/tomcat:

  • apache-tomcat-www --> production environment
  • apache-tomcat-nmcdsptest --> the test environment; note that this is not called 'test' but nmcdsptest. The reason is that Grails' built in testsuite uses the test environment and expects an hsqldb, while for test server environment we use PostgreSQL and numerous other tweaks.
  • apache-tomcat-ci --> the continuous integration environment

In /home/tomcat also some other folders can be seen:

  • apache-tomcat-tools --> the tomcat instance running specific tools (like nexus and hudson)
  • apache-tomcat-dbnptest --> a fake tomcat folder, used for building the dbnptest package
  • apache-tomcat-dbnpdemo --> alias to dbnptest, used to building the dbnpdemo package


Currently, the Apache webserver is set


Currently the backup cycle consists of two parts:

  • database backups
  • file upload backups

Database backups

The databases are backed up by a cronjob which runs as user posgres which currently dumps the production databases twice a day:

root@nmcdsp:~# su - postgres
postgres@nmcdsp:~$ crontab -l
# m h  dom mon dow   command
0 13,01 * * * ~/scripts/ gscf-www 2>&1
0 13,01 * * * ~/scripts/ nmcdsp-www 2>&1
0 13,01 * * * ~/scripts/ sam-www 2>&1

The database dumps are remotely stored on nbx14 in /home/nmcbackups/backups using the scponly nmcbackups account on nbx14. On nbx14 the backups folder is cleaned through another cronjob which runs as user root and keeps at least 5 backups files per environment and additionally keeps all backups that are less than 7 days old. This means that if there are 15 backup files for one product / environment (e.g. gscf-www) that are younger than 7 days, and two that are older than 7 days, only the latter two will be deleted.

root@nbx14:/root# crontab -l
# The server has an automated backup process going, storing
# database dumps in the (scponly) useraccount nmcbackup. This script
#	1. cleans up the backup folder
#	2. makes sure a minimal number of backups (per product, per environment)
#	   are kept
#	3. makes sure backups of a age less than a max age are kept
30 1,13 * * * /root/scripts/cleanup_backups >> /root/scripts/cleanup_backups.log 2>&1

File backups

to be implemented...