GNU/Linux >> Znalost Linux >  >> Linux

Kde mohu nastavit proměnné prostředí, které bude crontab používat?

Proměnné prostředí můžete definovat v samotném crontab při spuštění crontab -e z příkazového řádku.

LANG=nb_NO.UTF-8
LC_ALL=nb_NO.UTF-8
# m h  dom mon dow   command

* * * * * sleep 5s && echo "yo"

Tato funkce je dostupná pouze pro určité implementace cronu. Ubuntu a Debian v současnosti používají vixie-cron, který umožňuje jejich deklaraci v souboru crontab (také GNU mcron).

Archlinux a RedHat používají kamaráda, který ne umožní deklaraci proměnných prostředí a vyvolá chyby syntaxe v cron.log. Řešení lze provést pro každý záznam:

# m h  dom mon dow   command
* * * * * export LC_ALL=nb_NO.UTF-8; sleep 5s && echo "yo"

Mám ještě jedno řešení tohoto problému:

0 5 * * * . $HOME/.profile; /path/to/command/to/run

V tomto případě vybere všechny proměnné prostředí definované ve vašem $HOME/.profile soubor.

Samozřejmě $HOME není také nastaveno, musíte jej nahradit úplnou cestou vašeho $HOME .


Linux
  1. Jak nastavit, vypsat a odebrat proměnné prostředí v Linuxu

  2. Jak nastavit proměnné prostředí Linuxu pomocí Ansible

  3. Kde je nastavena proměnná prostředí $HOME?

  1. Proměnné prostředí Linux:Jak číst a nastavovat na Linux VPS

  2. Jak nastavit/vytvořit proměnné prostředí a prostředí v Linuxu

  3. Mohu nastavit systémovou poštu pro použití externího serveru SMTP?

  1. Jak zjistit, odkud se vzala proměnná prostředí?

  2. Používání proměnných prostředí v souborech Tmux.conf?

  3. Nastavit dočasné prostředí ($PATH)