NEWS
Linux script zum resintallieren
-
Ich suche einen Linux Experte, der so einen Bash Skript schreiben konnte:
-
1. stop iobroker: iobroker stop
-
2. liste alle adapters in node_modules und speichere es irgendwo - ls -1 | grep iobroker.
-
3. dann alles in node_modules löschen: cd node_modules; rm * -R
-
4. Für jeden in der gespeicherten Liste aufrufen: npm install %f –production;cd node_modules/%f/; npm install --production
Ich habe Probleme bei 2 und 4
Das sollte sein Skript sein um ioBroker frisch zu installieren.
P.S. ein Windows Skript währe auch nicht schlecht. Ich weiß, dass es möglich ist.
18138_qivicon_log.rtf -
-
Problem zwei könntest Du durch folgendes perl-script lösen:
#!/usr/bin/perl -w open(STREAM, "./iobroker list adapters|"); while (<stream>) { ($firstEntry) = split; $firstEntry=substr($firstEntry,15); print $firstEntry . "\n"; } close(STREAM);</stream>
Aufrufen des Skripts gibt auf der Console die Adapter aus. Das Ergebnis kann man in eine Datei umleiten. Schöner wäre es natürlich, diese Ausgabe in das iobroker Skript zu integrieren.
Gruß Gerhard
-
Eigentlich sollte so was möglich sein:
iobroker stop ls -1 node_modules/ | grep iobroker. > list.txt cd node_modules; rm * -R while read in; do npm install $in --production; cd node_modules/$in/; npm install --production; cd ../..; done < list.txt
-
Eigentlich sollte so was möglich sein:
iobroker stop ls -1 node_modules/ | grep iobroker. > list.txt cd node_modules; rm * -R while read in; do npm install $in --production; cd node_modules/$in/; npm install --production; cd ../..; done < list.txt chmod 777 * - R ```` `
Aber danke für die Idee mit der Datei
-
Hi Bluefox,
ich hab da mal ein script gebaut, muss aber noch getestet werden.
Das script muss mit sudo ausgeführt werden.
EDIT: Hab es getestet, es läuft bis "npm install –production", danach kommen nur noch fehler.
#!/bin/bash IFS=/r>\n' /opt/iobroker/iobroker stop Module=`find /opt/iobroker/node_modules -maxdepth 1 -name "iobroker*" -type d` rm /opt/iobroker/node_modules/* -f -R for modul in $Module; do modul="${modul#/*/*/*/}" npm install $modul --production cd /opt/iobroker/node_modules/$modul/ npm install --production done unset Module unset modul unset IFS
-
Danke an alle. Das solle Lauffähiges Skript sein:
iobroker stop ls -1 ./node_modules | grep iobroker. > list.txt cd node_modules; rm * -R cd .. while read in; do npm install $in --production; cd node_modules/$in/; npm install --production; cd ../..; done < list.txt chmod 777 * -R rm list.txt iobroker upload all
Werde dann rein nehmen.
-
Jetzt brauche ich so was für Windows batch.