Sie können Umgebungsvariablen in der Crontab selbst definieren, wenn Sie crontab -e
ausführen über die Befehlszeile.
LANG=nb_NO.UTF-8
LC_ALL=nb_NO.UTF-8
# m h dom mon dow command
* * * * * sleep 5s && echo "yo"
Diese Funktion ist nur für bestimmte Implementierungen von cron verfügbar. Ubuntu und Debian verwenden derzeit vixie-cron, wodurch diese in der crontab-Datei deklariert werden können (auch GNU mcron).
Archlinux und RedHat verwenden Cronie, was nicht tut erlauben die Deklaration von Umgebungsvariablen und werfen Syntaxfehler in cron.log. Problemumgehung kann pro Eintrag durchgeführt werden:
# m h dom mon dow command
* * * * * export LC_ALL=nb_NO.UTF-8; sleep 5s && echo "yo"
Ich habe eine weitere Lösung für dieses Problem:
0 5 * * * . $HOME/.profile; /path/to/command/to/run
In diesem Fall werden alle in Ihrem $HOME/.profile
definierten Umgebungsvariablen ausgewählt Datei.
Natürlich $HOME
ebenfalls nicht gesetzt ist, müssen Sie diesen durch den vollständigen Pfad Ihrer $HOME
ersetzen .