Wie findet man das eigene Installationsverzeichnis heraus? (LoxBerry V1.x)

Den Namen des Installationsverzeichnisses legt man in der Datei plugin.cfg fest. Allerdings ändert der LoxBerry bei der Plugin-Installation diese Vorgabe ab, sofern bereits ein weiteres Plugin den selben Verzeichnisnamen verwendet. Es ist somit sehr wichtig, dass man den Verzeichisnamen nicht hart in die eigenen Skripte kodiert.

Es gibt mehrere Möglichkeiten, den kompletten Pfad zum eigenen Script zur Laufzeit zu bestimmen.

Perl

Binde das Modul LoxBerry::System und ggf. LoxBerry::Web ein. Sämtliche Pfade werden dann als globale Variablen bereitgestellt.

Siehe Perl LoxBerry SDK Dokumentation und Perl-Modul LoxBerry::System

PHP

Binde das PHP-Modul LoxBerry System ein, damit werden sämtliche Pfade als globale Variablen und Konstanten bereitgestellt. 

Siehe PHP LoxBerry SDK Documentation

Daemon-Script

Du kannst den String REPLACELBPPLUGINDIR verwenden. Dieser wird während der Installation durch das Plugin-Unterverzeichnis ersetzt. Weitere mögliche Ersetzungen findest Du hier: Automatisches Ersetzen der Plugin-Verzeichnisse (REPLACE). Dieses ist die sicherste Variante, insbesondere wenn Du für den Pluginnamen und das Pluginverzeichnis in Deiner Pluginkonfiguration plugin.cfg unterschiedliche Namen verwendet hast! Auf die anderen Verzeichnisse kommst du mit den globalen Environmentvariablen

pluginname=REPLACELBPPLUGINDIR
echo Mein Logverzeichnis ist $LBPLOG/$pluginname

Alternative: Diese Alternative funktioniert nur, wenn Du für den Pluginnamen und das Pluginverzeichnis in Deiner Pluginkonfiguration plugin.cfg den gleichen Namen verwendet hast! Das Daemon-Script wird bei der Installation umbenannt in den Namen des Plugins, somit ist der Scriptname = Pluginname. Auf die anderen Verzeichnisse kommst du mit den globalen Environmentvariablen:

pluginname=$(basename $0 .sh)
echo Mein Logverzeichnis ist $LBPLOG/$pluginname

Cron-Jobs (mit Plugin mitgeliefert)

Siehe Bash-, Perl- und PHP-Skripte.

Cron-Jobs (individuell in der eigenen Crontab)

Du kannst den String REPLACELBPPLUGINDIR verwenden, wenn Du das Crontab-File bereits bei der Installation mitlieferst und nicht mehr änderst. Der String wird während der Installation durch das Plugin-Unterverzeichnis ersetzt. Weitere mögliche Ersetzungen findest Du hier: Automatisches Ersetzen der Plugin-Verzeichnisse (REPLACE).

Für die Skripte, die aus dem Crontab-File heraus aufgerufen werden: siehe Bash-, Perl- und PHP-Skripte.

Bash/Shell-Scripte

Du kannst den String REPLACELBPPLUGINDIR verwenden. Dieser wird während der Installation durch das Plugin-Unterverzeichnis ersetzt. Weitere mögliche Ersetzungen findest Du hier: Automatisches Ersetzen der Plugin-Verzeichnisse (REPLACE). Auf die anderen Verzeichnisse kommst du mit den globalen Environmentvariablen

pluginname=REPLACELBPPLUGINDIR
echo Mein Logverzeichnis ist $LBPLOG/$pluginname

Setup-Scripts während der Installation

Du kannst den String REPLACELBPPLUGINDIR verwenden. Dieser wird während der Installation durch das Plugin-Unterverzeichnis ersetzt. Weitere mögliche Ersetzungen findest Du hier: Automatisches Ersetzen der Plugin-Verzeichnisse (REPLACE). Auf die anderen Verzeichnisse kommst du mit den globalen Environmentvariablen

pluginname=REPLACELBPPLUGINDIR
echo Mein Logverzeichnis ist $LBPLOG/$pluginname