Scheduling Admin Tasks

Scheduling Admin Tasks

Scheduling Admin Tasks

During the Enfold Server installation process, you will be asked if you wish to set up some scheduled tasks. These scheduled tasks will run in the background at regular intervals (using the service user you specified). The Scheduled Tasks applet in Windows lets you see details about the scheduled tasks you have currently configured. Go to Start > Settings > Control Panel > Scheduled Tasks.

Scheduled Tasks and Windows 2003

Server 2003 has special limitations on the ability of nonadmin users to perform batch tasks. For this reason, scheduled tasks created by the ES install wizard work on Server 2003 only if you perform an additional step.

Microsoft offers two methods to make scheduled tasks work: 1)adding the service user name on the security tab of the cmd.exe file, or 2)adding the Batch group on this same security tab. http://support.microsoft.com/kb/867466/en-us (http://support.microsoft.com/kb/867466/en-us). Both methods suggested by Microsoft are easy and effective.

After you use either method, you should try running each scheduled task manually to make sure they function correctly.

This workaround is not necessary on Windows 2000 or Server 2008.

Scheduled administration tasks

See also: Demo Screencast on the Enfold website at http://www.enfoldsystems.com/software/server/demos

  • Backup: this backs up all the File Storage ZODB's that can be found in your installation. By default this is the Data.fs, located inside the Server directory. The backup does not backup files on the file system (such as product code), data in relational databases, log files, any external user sources such as Active Directory or any configuration. It backs up the data that has been entered into Plone. By default this runs once a week at 11.01 PM (server time) on Friday.
  • Log rotate: this rotates the log files for all Zope Clients and the ZEO Server. For the client this is the Z2 (web access) and event.log. For the server this is zeo. log. By default this runs every day at midnight (server time). (Read more about Logs ).
  • Database packing: this packs the database and removes all the old copies of objects in the database. By default this removes old versions of objects older than 14 days every evening. (Read more about Database Size ).

By default all logs and backups go into the Data directory of your Enfold Server install. If you would like to add in new tasks, or change the location of rotations and backups, then this can be altered by accessing Start > Enfold Server > Enfold Server Configuration Utility then Tasks.

If you would like to change the time or frequency of these tasks, use the Windows scheduled task interface. This can be found in Start > Settings > Control Panel > Scheduled Tasks from the Windows start menu.

Note: The user who runs these administrative tasks should be the service user. Those running Enfold Server on Windows 2003 will need to perform an additional step to make scheduled tasks work (see previous topic above). Although it is possible to run a Scheduled Task as a user with local administrator rights, doing so is not recommended.

If you are unclear about how to configure a service user, see server security.

Backing up data

For details on backing up data, please read the System Administration documentation. The main issue here is to be sure you maintain proper system backups (presuming that you have external or 3rd party backup software to do this). If this is the case then you want to have your backup software backing up the rotated logs and backed up database.

Usage Tip: The frequency of these scheduled tasks is conservative. For example, the default frequency of backups (once per week) may not provide enough data protection for your needs. You can easily increase the frequency to every day or every two days. (For incremental backups, the initial backup may take longer than succeeding ones. The duration and CPU load of a backup process varies; many incremental backups take only a minute or two to complete).

A backup scheduled task will take the Zope database and back it up to another file. It only backs up the Zope database; it does not backup log files, configuration, code or other applications you may have worked with. Once this backup process is complete, this copy can be backed up to another medium (e.g., tape, DVD).

The backups are by default placed in the Data directory of you Enfold Server install. You can choose to have them backed up to a different location in the Enfold Server Configuration Utility program: Start > Programs > Enfold Server > Enfold Server Configuration Utility > Tasks

In case of a catastrophic failure you would need to be able to recreate not just this database, but also configuration files and custom code.

Logs

There are two main logs written by Enfold Server:

  • a web access log: Z2.log
  • an event or error log: event.log

All of these files can be found in the Client\log directory of your install. If you have more than one ZEO client, you will have to find the matching logs in those as well.

If you use a proxy server like Enfold Proxy(EP), the Z2.log will be incomplete because it won't show cached HTTP requests. If a person requests a web item cached by Enfold Proxy, the HTTP request won't show up on Z2.log. (but this request will still show up in EP's logs or the IIS logs). IIS/EP logs will show both cached requests and uncached requests.

For the database one log file is written:

  • a database error log: zeo.log

This can be found in the Server\log directory. This is not a very important log and rarely used. It should not be considered critical.

The scheduled task rotates the logs by default into the Data directory of you Enfold Server install. You can choose to have them rotated to a different location in the Enfold Server Configuration Utility program: Start > Programs > Enfold Server > Enfold Server Configuration Utility > Tasks

Database size

The Zope database stores every copy of every object changed in a transaction. This can cause the database to grow quite large. There isn't really any downsize to a large database size other than having one large file to manage. It has little to no bearing on site performance. There is no limit to the size of this file, only what your file system can handle. Sizes in the region of 10gb are not uncommon.

As system administrators you will need to manage that one file to ensure that things like backups or copies don't become unwieldy as that file grows. For this reason we recommend doing a regular database pack. This removes all the old copies in the database. If you are running a backup regularly (see above) then you should have every record of every change.

The scheduled tasks pack the database by default, removing historical non-versioned data in the system. If you are using Plone's versioning feature (new to Plone 3.x), then packing will not remove versioned content.

Setting the location for temporary files

It is normal for Enfold Server to use temporary files when it runs. In Server 2003 these files are contained in the user's temp directory (i.e., C:\Documents and Settings\robert\Local Settings\Temp), and in Vista it is something similar (c:\users\robert\AppData\Local\Temp). Note that if you are not connected to a Windows domain, the path may be different.

The Temp directory must be writable by the service user; therefore, by default it will be found inside the temp folder in the service user's folders.

However, it is possible to change this location. The only requirement is that the new location must already exist and that it be writable by the service user.

To change the location of this Temp directory, you need to edit the zope.conf file for the Zope client. (usually found here C:\Program Files\Enfold Server\Client\etc). Open this zope.conf and add these line TEMP c:\Temporary inside the environment directive.

<environment>
# This HTTP_MANAGE environment variable is used by Plone's accessRule.py
# script, which is what makes Plone appear instead of Zope when you go to
# the root of the web server on the PLONE_WEBSERVER_PORT.
HTTP_MANAGE $ZOPE_MANAGEZODB_PORT
TEMP c:\Temporary
</environment>