It is good practise to backup the server on a regular basis.
neatComponents sites lend themselves to frequent changes, by numerous parties, so it is important to backup more regularly than you might otherwise do with static sites.
This provides protection against data loss caused by malware or mistake. We also recommend using a RAID array for resilience against hard drive failure.
Unlike simple file-servers, the neatComponents server is based around a database. This has implications for most backup programs as the core database files are kept open by the neatComponents processes most of the time:
- Some files will be skipped as they are locked.
- Some files may be corrupted as the backup software has them locked when neatComponents needs to access them.
- As a backup iterates through the various files one by one, they are backed up as slightly different times, which causes issues when they are restored, as they are not a coherent set.
To solve these problems, we recommend you create a snapshot copy of the database whilst neatComponents is momentarily turned off, and then allow your backup software to backup the snapshot copy, but not the live database.
The following batch file script should be run whenever you want to take a snapshot. This shuts down neatComponents, takes the copy, and switches it back on again. It is normal to run this as a scheduled task.
NET STOP ncService /y
NET STOP W3SVC /y
NET STOP ncMySQLServer /y
XCOPY "C:\Program Files\Enstar\neatComponents\mysql\data" "C:\Program Files\Enstar\neatComponents\mysql\data_backup" /s /e /i /q /d /y
NET START ncMySQLServer
NET START W3SVC
NET START ncService
Once the snapshot script has finished, the server can be backed up using your regular backup software.
It is important to exclude the following directory from the backup:
Note: if both the snapshot script and the backup process are run as independently scheduled tasks, you should leave a clear period between the two, to avoid overlap, as the time required by the snapshot script will increase as the amount of data to be copied increases over the life of the server.
Note: if neatComponents was installed to a different location, modify the paths shown above to match.