#!/bin/sh umask 002 # # locale settings for FreeBSD #LANG=ru_RU.KOI8-R; export LANG LANG=koi8-r; export LANG LC_TIME=en_US.ISO_8859-1; export LC_TIME # # mud home -- all other paths and filenames are relative from $home #home=/usr/local/sog home=/home/mud # # logging control lastlog=tmp/lastlog index=0 # # mud binary executable mudbin=sog # # shutdown flag file shutdown=tmp/shutdown # # corefile name core=core ############################################################################## # let's go # cd $home if [ -r $shutdown ]; then rm $shutdown fi while [ 1 ] do if [ -r $lastlog ]; then index=`cat $lastlog` fi while [ 1 ] do logfile=`printf "log/%05d.log" $index` if [ -r $logfile ] then index=$(($index + 1)) else break fi done echo $(($index+1)) > $lastlog bin/$mudbin >$logfile 2>&1 exitcode=$? avail=`df -k $home | tail -1 | awk '{ print $4 }'` if [ -r $core ] then chmod g+rw $core if [ $avail -gt 65535 ] then mv $core corefiles/core.$index ln bin/$mudbin corefiles/$mudbin.$index else echo `date` "Low space (${avail}k) on disk: corefile not renamed" >> $logfile fi sleep 5 continue fi if [ -r $shutdown ] then break fi if [ $exitcode -ne 0 ] then break fi sleep 5 done