GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wo kann ich Umgebungsvariablen festlegen, die crontab verwendet?

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 .


Linux
  1. Linux-Umgebungsvariablen:Lesen und Festlegen auf einem Linux-VPS

  2. So setzen/erstellen Sie Umgebungs- und Shell-Variablen in Linux

  3. Verwenden von Umgebungsvariablen in Tmux.conf-Dateien?

  4. So setzen, listen und entfernen Sie Umgebungsvariablen in Linux

  5. So setzen Sie Linux-Umgebungsvariablen mit Ansible

So legen Sie Umgebungsvariablen in MacOS fest

So setzen und listen Sie Umgebungsvariablen in Linux auf

So setzen und listen Sie Umgebungsvariablen in Linux auf

So setzen und löschen Sie Umgebungsvariablen unter Linux

Wo sollten Umgebungsvariablen für Jenkins festgelegt werden?

Linux-Umgebungsvariablen