Cron vždy běží s většinou prázdným prostředím. HOME
, LOGNAME
a SHELL
jsou nastaveny; a velmi omezené PATH
. Při použití cron
je proto vhodné použít úplné cesty ke spustitelným souborům a exportovat všechny proměnné, které ve skriptu potřebujete. .
Existuje několik přístupů, které můžete použít k nastavení proměnných prostředí v cron
, ale všechny představují nastavení ve vašem skriptu.
Přístup 1:
Nastavte každou proměnnou, kterou potřebujete, ručně ve svém skriptu.
Přístup 2:
Zdroj vašeho profilu:
. $HOME/.bash_profile
(nebo . $HOME/.profile
)
(Obvykle zjistíte, že výše uvedený soubor bude zdrojem jiných souborů (např. ~/.bashrc
--> /etc/bashrc
--> /etc/profile.d/*
) – pokud ne, můžete je také použít.)
Přístup 3:
Uložte proměnné prostředí do souboru (spusťte jako požadovaný uživatel):
env > /path/to/my_env.sh
Poté importujte pomocí skriptu cron:
env - `cat /path/to/my_env.sh` /bin/sh
Přístup 4:
V některých případech můžete nastavit globální cron
proměnné v /etc/default/cron
. S tím je však spojeno určité riziko, protože tyto budou nastaveny pro všechny cron
pracovních míst.