Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
IAR Backup für Anfänger
#1
HowTo: Nutzung des saveinventar Bash-Skripts

## 1. Einleitung
Das `saveinventar`-Skript ermöglicht es, das Standard Inventar eines OpenSimulator-Nutzers als `.iar`-Archiv zu sichern.
Es speichert verschiedene Standard Inventarverzeichnisse automatisch in einem angegebenen Backup-Pfad.

## 2. Installation
### 2.1 Skript speichern
Speichere das folgende Skript als `saveinventar.sh` in einem gewünschten Verzeichnis:

```bash
Code:
#!/bin/bash

function saveinventar() {
    # Letzte Bearbeitung 08.02.2025
    #
    # Speichert den OpenSim Inventar mit "save iar" in ein Archiv.
    #
    # $1: Vorname
    # $2: Nachname
    # $3: Passwort
    # $4: Archivpfad
    #
    # Beispiel: bash saveinventar.sh "Zain" "Hassan" "geheimesPasswort" "/opt/backup/inventar"
    # Return: 0 wenn erfolgreich, 1 wenn der Screen nicht existiert
    local SAVEINVSCREEN="sim1"
    local vorname="$1"
    local nachname="$2"
    local passwort="$3"
    local archivpfad="$4"

    # Sicherstellen, dass das Archivverzeichnis existiert
    mkdir -p "$archivpfad"

    # Liste der zu sichernden Verzeichnisse
    local -a inventarpfad=(
        "Animations"
        "Body Parts"
        "Calling Cards"
        "Clothing"
        "Current Outfit"
        "Favorites"
        "Gestures"
        "Landmarks"
        "Lost and Found"
        "Materials"
        "Meshes"
        "My Inventory"
        "My Suitcase"
        "Notecards"
        "Objects"
        "Outfits"
        "Photo Album"
        "Scripts"
        "Settings"
        "Sounds"
        "Textures"
        "Trash"
    )

    # Prüfen, ob der Screen existiert
    if ! screen -list | grep -q "$SAVEINVSCREEN"; then
        #log info "OSCOMMAND: Der Screen $SAVEINVSCREEN existiert nicht"
        echo "OSCOMMAND: Der Screen $SAVEINVSCREEN existiert nicht"
        return 1
    fi

    # Schleife über alle Verzeichnisse und Backup durchführen
    for verzeichnis in "${inventarpfad[@]}"; do
        local datei="${archivpfad}/${vorname}${nachname}_${verzeichnis}.iar"
        echo "[DEBUG] Speichere Verzeichnis: /$verzeichnis -> Datei: $datei"
        #log info "OSCOMMAND: save iar $vorname $nachname /$verzeichnis ***** $datei"
        screen -S "$SAVEINVSCREEN" -p 0 -X eval "stuff 'save iar $vorname $nachname $verzeichnis $passwort $datei'^M"
    done


    return 0
}

vorname="$1"
nachname="$2"
passwort="$3"
archivpfad="$4"
# Beispiel: bash saveinventar.sh "Zain" "Hassan" "geheimesPasswort" "/opt/backup/inventar"
saveinventar "$vorname" "$nachname" "$passwort" "$archivpfad"
```

### 2.2 Skript ausführbar machen
Führe folgenden Befehl aus, um das Skript ausführbar zu machen:
```bash
Code:
chmod +x saveinventar.sh
```

## 3. Nutzung
Das Skript kann mit folgendem Befehl ausgeführt werden:
```bash
Code:
./saveinventar.sh "Vorname" "Nachname" "Passwort" "/pfad/zum/backup"
```
**Beispiel:**
```bash
Code:
./saveinventar.sh "John" "Doe" "meinPasswort" "/opt/backup"
```

## 4. Fehlerbehebung
### 4.1 Der Screen existiert nicht
**Fehlermeldung:**
```bash
Code:
[ERROR] Der Screen sim1 existiert nicht
```
**Lösung:**
- Stelle sicher, dass OpenSimulator läuft und `sim1` als Screen-Session aktiv ist.
- Überprüfe laufende Screens mit:
```bash
Code:
screen -list
```

### 4.2 Falscher Speicherpfad
Falls `.iar`-Dateien im falschen Verzeichnis landen, prüfe den `archivpfad`-Wert und passe ihn entsprechend an.

## 5. Fazit
Mit diesem Skript kannst du dein OpenSimulator-Inventar einfach sichern.
Falls Probleme auftreten, überprüfe die Debugging-Ausgaben und passe ggf. die Konfiguration an.

---
**Letzte Bearbeitung:** 08.02.2025
Ein Metaversum sind viele kleine Räume, die nahtlos aneinander passen,
sowie direkt sichtbar und begehbar sind, als wäre es aus einem Guss.



[-] The following 1 user says Thank You to Manfred Aabye for this post:
  • Dorena Verne
Zitieren


Nachrichten in diesem Thema
IAR Backup für Anfänger - von Manfred Aabye - 08.02.2025, 13:02

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste