Documentation Home
Help! Errors
Help! False Positives
Help! Spam Leakage
Installation Guides
Features
Procedures
SNF Community
Software
Technology
Tools
Direct Support
Glossary
Q&A
SNFServer
Configuration
Automated Updates
Beginning with SNF version 3, a number of features have been added to the SNFMulti engine to support automated rulebase updates. The distribution files contain everything you need to set up automated rulebase downloads using these features. Of course, you can also build your own customized update mechanisms using the new features.
- Update Ready Notification: UpdateReady.txt
- Update Script Launcher <update-script/>
- getRulebase Sample Scripts
- Setting Up Automated Updates Step By Step
- Disabling Update Notifications
Update Ready Notification: UpdateReady.txt
The first feature is the UpdateReady.txt semaphore file. This file is created or overwritten in the SNF workspace whenever the rulebase file on our servers is newer than the one that is being used in the SNF engine. The file contains the compressed ISO timestamp for the newest rulebase file.
One way you could use this feature is to create a script that watches for this file. When your script discovers this file is present then it can download the new rulebase file and perform any other operations you wish to trigger when the update occurs. Once the update process is complete your script should delete the semaphore file. It's also a good idea (usually) to create some kind of locking mechanism to ensure that only one copy of your script runs at a time.
Update Script Launcher <update-script/>
The second feature is the <update-script/> mechanism. This feature allows you to configure the SNF engine to run a script via a system() call whenever the rulebase file on our servers is newer than the rulebase file running in the SNF engine. This script will be called repeatedly until the condition is resolved. Each iteration will be separated by a configurable guard time (3 minutes by default).
getRulebase Sample Scripts
The distribution files contain an appropriate sample script for automating rulebase updates. For Win* systems the script is getRulebase.cmd. For *nix systems the script is simply getRulebase.
Setting Up Automated Updates Step By Step
Normally SNF is installed so that the workspace and rulebase directories are the same. The getRulebase scripts provided assume that this is the case and that they will be living in the workspace directory along with the rulebase file. If your installation uses different paths then you will need to modify the scripts accordingly. Assuming everything is "normal" you should be able to get automated updates running following these steps:
- Verify that wget and gzip are available. If you are installing on a *nix system then it is very likely they are already present and available. If you are installing SNF on a Win* system then the distribution file will include the wget and gzip utilities as a convenience. These are open source utilities. The distribution file will also tell you where the included copies came from.
- Open your getRulebase script with your favorite text editor.
- Edit the variable assignments at the top of the script:
- Put in the correct path.
- Put in the correct license id.
- Put in the correct authentication string.
- Save the file.
- Create an UpdateReady.txt file. It doesn't matter what is in the file or even if the file is empty. It simply must exist so that the getRulebase script can find it.
- Run the script. It should detect the UpdateReady.txt file and download the new rulebase from our servers. This is a good first step when setting up a new installation since the SNF engine will refuse to start if it doesn't find its rulebase file. A successful test-run of your getRulebase script not only verifies that your automated update script is working correctly but also gets you your rulebase file so you are ready run SNF.
- Open your configuration file (snf_engine.xml or snfmdplugin.xml) with your favorite editor.
- Locate the <update-script...> tag
<update-script on-off='off' call='getRulebase' guard-time='180'/>
- Modify the tag so that the update-script feature is turned on and the full path to your getRulebase script is configured. For example, if you are installing SNF on a Win* system and your SNF workspace and rulebase paths are C:\SNF\ then you should edit this line to look like this:
<update-script on-off='on' call='C:\SNF\getRulebase.cmd' guard-time='180'/>
- Locate the <update-script...> tag
- Save your configuration file. Now when the SNF engine is running it will automatically launch your update script within a minute or so of when a new rulebase file is ready. This is the best way to get new rulebase files without any time-lag or extra downloads.
Please email support@armresearch.com with any questions.
Disabling Update Notifications
To have your update notifications disabled, please send a note to support@armresearch.com. Please be sure to include your license id for account verification.
