Metainformationen zur Seite
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.
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