Test Page
From OpenSimulator
(Difference between revisions)
(→oswatchdog) |
Sacha Magne (Talk | contribs) (→oswatchdog) |
||
Line 34: | Line 34: | ||
# Where Is Your Screen Binary? | # Where Is Your Screen Binary? | ||
SCREEN="/usr/bin/screen" | SCREEN="/usr/bin/screen" | ||
+ | |||
+ | |||
+ | #if the file exist, opensim won't be restarted | ||
+ | # Sacha Magne | ||
+ | LOCKFILE="/tmp/norun.opensim" | ||
+ | |||
+ | if [ -f "$LOCKFILE" ]; then | ||
+ | echo $LOCKFILE "found. no restart" | ||
+ | exit | ||
+ | fi | ||
+ | |||
# Check For For Our Screen Process, Named OSG | # Check For For Our Screen Process, Named OSG |
Revision as of 11:31, 11 August 2008
Open Sim Watchdog Script
This is a small script to watch for an OpenSim region simulator under screen in Linux. If the process is missing, a new instance will be started.
oswatchdog
#!/bin/sh # # THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # # # Adjust To Your System: # # Sample Cron Entry: Runs Each Minute 24/7/365 # */1 * * * * exec /opt/opensim/scripts/oswatchdog # # # # Where Does Your OpenSim Installation Live? BASE="/opt/opensim" # Where Do You Run OpenSim.exe From? RUN="$BASE/production/bin" # Where Do You Want To Log Events To? LOG="$BASE/log" # Where Is Your Screen Binary? SCREEN="/usr/bin/screen" #if the file exist, opensim won't be restarted # Sacha Magne LOCKFILE="/tmp/norun.opensim" if [ -f "$LOCKFILE" ]; then echo $LOCKFILE "found. no restart" exit fi # Check For For Our Screen Process, Named OSG running=`ps ax|grep OSG|grep -v grep` # If The Process Is Not There... if [ -z "$running" ]; then #...We Make A Log Entry And Start A New One # The Log Entry TIME="Simulator Down, Restarting: `/usr/bin/date +"%A, %B %d - %r"`" echo $TIME >>$LOG/OSGReport.txt cd $RUN $SCREEN -S OSG -d -m mono OpenSim.exe fi # All Done 'Till Next Time