GridTalk.de
Frühjahresputz Scripte löschen - Druckversion

+- GridTalk.de (https://www.gridtalk.de)
+-- Forum: Werkstatt (https://www.gridtalk.de/forumdisplay.php?fid=4)
+--- Forum: Technik (https://www.gridtalk.de/forumdisplay.php?fid=25)
+--- Thema: Frühjahresputz Scripte löschen (/showthread.php?tid=3988)

Seiten: 1 2


Frühjahresputz Scripte löschen - Manfred Aabye - 18.01.2021

Beispiel anhand folgendem Szenario.
Ihr habt euren OpenSimulator schon länger laufen und mit der zeit habt ihr öfter Scripte ausprobiert.
Hier kann es vorteilhaft sein das ihr mal eure gesamten kompilierten Scripte löscht.
Es werden hier nur die Kompilierungen gelöscht nicht aber die Scripte selbst.
Dazu wird anschließend beim starten, der OpenSimulator gezwungen die Scripte neu zu kompilieren.
Das löschen kann man einfach manuell machen.

Ich mache dies unter Linux mit einem Skript, ändert bitte das Verzeichnis opt und simX falls ihr andere Verzeichnisse benutzt.

osscriptdelete.sh
Code:
#!/bin/sh

echo "$(tput sgr 0)--------------------------------------------------"

echo "$(tput setaf 1)$(tput setab 7)Yengine kompilierte Skripte löschen$(tput sgr 0)"

sim1="/opt/sim1/"
if [ -d "$sim1" ]; then
  # Take action if $sim1 exists. #
  echo "$(tput setaf 2)Lösche in Sim1 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim1/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim2="/opt/sim2/"
if [ -d "$sim2" ]; then
  # Take action if $sim2 exists. #
  echo "$(tput setaf 2)Lösche in Sim2 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim2/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim3="/opt/sim3/"
if [ -d "$sim3" ]; then
  # Take action if $sim3 exists. #
  echo "$(tput setaf 2)Lösche in sim3 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim3/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim4="/opt/sim4/"
if [ -d "$sim4" ]; then
  # Take action if $sim4 exists. #
  echo "$(tput setaf 2)Lösche in sim4 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim4/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim5="/opt/sim5/"
if [ -d "$sim5" ]; then
  # Take action if $sim5 exists. #
  echo "$(tput setaf 2)Lösche in sim5 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim5/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim6="/opt/sim6/"
if [ -d "$sim6" ]; then
  # Take action if $sim6 exists. #
  echo "$(tput setaf 2)Lösche in sim6 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim6/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim7="/opt/sim7/"
if [ -d "$sim7" ]; then
  # Take action if $sim7 exists. #
  echo "$(tput setaf 2)Lösche in sim7 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim7/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim8="/opt/sim8/"
if [ -d "$sim8" ]; then
  # Take action if $sim8 exists. #
  echo "$(tput setaf 2)Lösche in sim8 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim8/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

sim9="/opt/sim9/"
if [ -d "$sim9" ]; then
  # Take action if $sim9 exists. #
  echo "$(tput setaf 2)Lösche in sim9 Yengine kompilierte Skripte$(tput sgr 0)"
  cd /opt/sim9/bin/ScriptEngines
  rm -r Yengine
  mkdir Yengine
else
   echo "$(tput setaf 2)Keine Yengine kompilierte Skripte Dateien gefunden$(tput sgr 0)"
fi

echo "$(tput sgr 0)--------------------------------------------------"



RE: Frühjahresputz Scripte löschen - Pius Noel - 19.01.2021

Ich möchte das Script von Manfred Aabye nicht kritisieren, aber ich mache das lieber auf die einfache Art:

Code:
pius@host:~$ rm -r */bin/ScriptEngines

Soweit ich weiss, wird das Unterverzeichnis YEngine berim Neustart automatisch neu erstellt.

Dazu muss ich aber noch erwähnen, dass ich OpenSim nicht im Verzeichnis /opt installiere, sondern unter einem nicht privilegierten Benutzer-Konto, d.h. meine Verzeichnisstruktur sieht etwa so aus:

Code:
/home/pius
├── backup (Datensicherungen zum Wegkopieren)
├── bin       (eigene Skripte und Programme)
├── go        (meine Projekte mit der Programmiersprache Go)
├── iar        (Inventar Archive meiner Avatare)
├── oar       (OpenSim Archive meiner Regionen)
├── sim1     (OpenSim Simulator 1)
├── sim2     (OpenSim Simulator 2)
├── sim3     (OpenSim Simulator 3)
└── scripts  (Diverse Scripte)



RE: Frühjahresputz Scripte löschen - Genie Fegte - 19.01.2021

Der einfachste Weg ist warscheinlich direkt über den Simulator.
Dann braucht man keine Daten manuell löschen und es geht automatisch.
Zitat:[XEngine]
DeleteScriptsOnStartup = true
Einfach in der Opensim.ini setzen und beim Start des Simulators löschen sich die Skripte alleine Big Grin

lg
Genie


RE: Frühjahresputz Scripte löschen - Dorena Verne - 19.01.2021

Joa, nur ständig löschen will ich die scriptengine nun auch nicht. Das Beacon von opensimworld muss danach nämlich wieder neu aktiviert werden.

Ah, willkommen zurück im Gridtalk, Genie.Wink


RE: Frühjahresputz Scripte löschen - Genie Fegte - 19.01.2021

Hallo Dorena,
Die Scriptstates werden bei der Methode über den Simulator nicht berührt.
Wenn man manuell löscht allerdings schon.
Also muss man den Beacon dann nicht neu aktivieren.
Zitat:[YEngine]
DeleteScriptsOnStartup = true
Das ganze sollte auch unter YEngine funktionieren.

lg
Genie


RE: Frühjahresputz Scripte löschen - Dorena Verne - 20.01.2021

Ah, ok, ich immer mit meiner Handarbeit.Wink
Wenn ich das Gefühl bekommen sollte, das die Scriptengine lieber bei jedem Neustart geleert werden muss, werde ich es mal so wie du vorschlägst probieren, Genie.Smile


RE: Frühjahresputz Scripte löschen - Xenos Yifu - 20.01.2021

(19.01.2021, 20:13)Genie Fegte schrieb: Der einfachste Weg ist warscheinlich direkt über den Simulator.
Dann braucht man keine Daten manuell löschen und es geht automatisch.
Zitat:[XEngine]
DeleteScriptsOnStartup = true
Einfach in der Opensim.ini setzen und beim Start des Simulators löschen sich die Skripte alleine Big Grin

lg
Genie
Muss der Eintrag an eine bestimmte Stelle in der ini?


RE: Frühjahresputz Scripte löschen - Mareta Dagostino - 20.01.2021

OpenSim.ini, für X-Engine in die Sektion [XEngine], oder für Y-Engine eben in die Sektion [YEngine]. Innerhalb der Sektion ist es egal, wo.

EDIT: Wenn du viele Scripte hast, dauert der Neustart entsprechend länger - muss ja alles neu compiliert werden. OpenSim bringe ich leicht zum Absturz, zum Beispiel mit Terraformen, und scharre dann mit den Hufen, dass die Region wieder auftaucht. Deshalb lösche ich die Scripte nur alle paar Monate, wenn ich eh eine neue OpenSim Version ausprobiere (und den ganzen Verzeichnisbaum lösche). Wer auf Partys o.ä. viele wechselnde Gäste hat, sammelt allerdings über die Zeit ziemlich Müll an.


RE: Frühjahresputz Scripte löschen - Xenos Yifu - 20.01.2021

Ok, dann schenke ich es mir auch.
Bei mir wird ja nicht alle paar Tage alles umgefummelt, es kommt höchstens was neues dazu.


RE: Frühjahresputz Scripte löschen - Manfred Aabye - 20.01.2021

Viele Wege führen nach Rom.

Ich habe das etwas umständlich gemacht, weil ich halt schon ein ähnliches Shell Skript als Vorlage hatte.