17.06.2025, 13:15
(Dieser Beitrag wurde zuletzt bearbeitet: 17.06.2025, 13:46 von Manfred Aabye.)
cd /home/bin
cd /home/sim2/bin
Stimmt da an deiner OpenSim Verzeichnisstruktur etwas nicht?
Verschieben von Verzeichnissen als Beispiel:
sudo mv /home/bin /home/sim1/bin
Wie wäre es damit?:
Jetzt kannst du das so starten:
./script.sh sim1 # für /home/sim1/bin
./script.sh sim2 # für /home/sim2/bin
cd /home/sim2/bin
Stimmt da an deiner OpenSim Verzeichnisstruktur etwas nicht?
Verschieben von Verzeichnissen als Beispiel:
sudo mv /home/bin /home/sim1/bin
Wie wäre es damit?:
Code:
#!/bin/bash
simulator="$1"
# Check if simulator name was provided
if [ -z "$simulator" ]; then
echo "Usage: $0 <simulator-name> (e.g. sim2)" >&2
exit 1
fi
LOG_FILE="/home/$simulator/bin/os.log"
WORK_DIR="/home/$simulator/bin"
SCREEN_NAME="$simulator"
PROCESS="dotnet OpenSim.dll"
# Create log directory if missing
mkdir -p "$(dirname "$LOG_FILE")" || { echo "Could not create log directory" >&2; exit 1; }
touch "$LOG_FILE" || { echo "Cannot create log file: $LOG_FILE" >&2; exit 1; }
# Check if working directory exists
if [ ! -d "$WORK_DIR" ]; then
echo "Error: Directory $WORK_DIR does not exist!" >> "$LOG_FILE"
exit 1
fi
cd "$WORK_DIR" || { echo "Could not cd to $WORK_DIR" >> "$LOG_FILE"; exit 1; }
while :; do
if ! pgrep -f "$PROCESS" >/dev/null; then
# Log Entry
echo "OpenSim down, restarting: $(date +"%Y-%m-%d %T")" >> "$LOG_FILE"
if ! screen -fa -S "$SCREEN_NAME" -d -U -m $PROCESS -gui=true -noverbose=true; then
echo "Failed to start OpenSim: $(date +"%Y-%m-%d %T")" >> "$LOG_FILE"
fi
fi
sleep 120
done
Jetzt kannst du das so starten:
./script.sh sim1 # für /home/sim1/bin
./script.sh sim2 # für /home/sim2/bin
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.