GNU/Linux >> Linux Esercitazione >  >> Linux

Dove posso impostare le variabili di ambiente che crontab utilizzerà?

Puoi definire le variabili d'ambiente nel crontab stesso quando esegui crontab -e dalla riga di comando.

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

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

Questa funzione è disponibile solo per determinate implementazioni di cron. Ubuntu e Debian attualmente usano vixie-cron che consente di dichiararli nel file crontab (anche GNU mcron).

Archlinux e RedHat usano cronie che non consentire la dichiarazione delle variabili di ambiente e genererà errori di sintassi in cron.log. La soluzione alternativa può essere eseguita per ogni voce:

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

Ho un'altra soluzione per questo problema:

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

In questo caso sceglierà tutte le variabili d'ambiente definite nel tuo $HOME/.profile file.

Ovviamente $HOME non è impostato, devi sostituirlo con il percorso completo del tuo $HOME .


Linux
  1. Come impostare le variabili di ambiente Linux con Ansible

  2. Dov'è impostata la variabile d'ambiente $HOME?

  3. Posso configurare la posta di sistema in modo che utilizzi un server SMTP esterno?

  4. Come stampare variabili d'ambiente apparentemente nascoste?

  5. L'esecuzione di crontab non ha le stesse variabili di ambiente dell'utente in esecuzione

Come impostare le variabili d'ambiente in MacOS

Come impostare ed elencare le variabili di ambiente in Linux

Come impostare ed elencare variabili ambientali in Linux

Come impostare e annullare l'impostazione delle variabili di ambiente su Linux

Dove dovrebbero essere impostate le variabili d'ambiente per Jenkins?

Variabili d'ambiente Linux