Ich habe verschiedene Skripte geschrieben, um Java-Serveranwendungen zu starten, die normalerweise 24 Stunden lang ausgeführt werden, bevor sie heruntergefahren werden (indem dasselbe Skript mit einem anderen Parameter aufgerufen wird).
Das Skript basiert auf Umgebungsvariablen, die in einer Datei definiert sind ~/<user>.env
:, aus der ich eine Quelle habe .bashrc
.
Dies funktioniert einwandfrei, wenn das Skript über die Befehlszeile aufgerufen wird. Wenn ich das Skript jedoch als Crontab-Eintrag hinzufügen möchte, tritt das Problem auf, bei dem .bashrc
es nicht gelesen wird.
Meine Frage: Was ist der Best-Practice-Ansatz zur Lösung dieses Problems? Mir ist klar, dass ich einen Crontab-Eintrag definieren könnte, wie zum Beispiel:
* * * * 1-5 /usr/bin/bash -c '. /home/myuser/myuser.env && /home/myuser/scripts/myscript.sh'
... aber das scheint einfach hässlich. Alternativ könnte ich myuser.env
am Anfang jedes Skripts eine Quelle finden , aber dies wäre ein Albtraum, den man aufrechterhalten muss.
Jede Hilfe geschätzt.