!!! EXCELLENT !!!
I wish that was available for Windows Installs.... (Contemplating the mechanism)
I do have a suggestion in regards to the shutdown process. By enabling the the Timer Script function in the opensim.ini you could execute a series of "pre-shutdown" functions.
See
http://osgrid.org/forums/viewtopic.php?f=14&t=1153 for information on Timer_Script.
The Timer runs every 20 minutes, so my idea would be to have the
timer_script = TimedScript.txt modified 30 minutes prior to shutdown/restart. The reason I suggest 30 minutes, is because some of the processes can take a period of time to complete and this would depend on how "heavy" the region/sim is with objects etc....
Have the Script in your system, replace the
TimedScript.txt by copying
BackupScript.txt onto it. This script would then be executed at the 20 minute interval and be capable of making Backup Files such as OARS, XML etc.... in addition to running the internal
backup command to make sure everything is dumped into the DataBase.
Further backup discussion in
http://osgrid.org/forums/viewtopic.php?f=9&t=1143NOTE: Once the Opensim.ini is read in it won't change the OpenSim Instance even if you edit it. So you have to set the
timer_script = and copy over it, that script is read in every time it is executed, therefore it's contents can be changed between runs.
Once the backup files are generated and prior to the shutdown / restart, replace the
TimedScript.txt by copying a "neutral" text file onto it, in order to prevent the 20 minute cycle from running the full backup.
An additional thought would be to transfer the opensim.log After Shutdown to an archive for that day, then as a "pre-start" clear the previous opensim.log and run a command-line dump of the MySql DB so you also have a current backup copy of it. This would give you a fresh clean log & a DB Backup from the start which makes it easier to see if something is going astray.
While operating under Mono is a bit different than what I am used to working with, I assume that there are open file handles and such running. Therefore applying the lessons learned experience, I strongly suggest making living backups of the data and having everything committed to the Database before the application is shutdown to maintain integrity and consistency.
Just some thoughts and suggestions