GNU/Linux >> Tutoriels Linux >  >> Linux

Où puis-je définir les variables d'environnement que crontab utilisera ?

Vous pouvez définir des variables d'environnement dans la crontab elle-même lors de l'exécution de crontab -e depuis la ligne de commande.

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

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

Cette fonctionnalité n'est disponible que pour certaines implémentations de cron. Ubuntu et Debian utilisent actuellement vixie-cron qui permet de les déclarer dans le fichier crontab (également GNU mcron).

Archlinux et RedHat utilisent cronie qui ne le fait pas autorise la déclaration des variables d'environnement et génère des erreurs de syntaxe dans le cron.log. Une solution de contournement peut être effectuée par entrée :

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

J'ai une autre solution à ce problème :

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

Dans ce cas, il sélectionnera toutes les variables d'environnement définies dans votre $HOME/.profile fichier.

Bien sûr $HOME n'est pas non plus défini, vous devez le remplacer par le chemin complet de votre $HOME .


Linux
  1. Comment définir, répertorier et supprimer des variables d'environnement sous Linux

  2. Comment définir des variables d'environnement Linux avec Ansible

  3. Où est définie la variable d'environnement $HOME ?

  4. Puis-je configurer la messagerie système pour utiliser un serveur SMTP externe ?

  5. Comment imprimer des variables d'environnement apparemment cachées ?

Comment définir des variables d'environnement dans MacOS

Comment définir et répertorier les variables d'environnement sous Linux

Comment définir et répertorier les variables d'environnement sous Linux

Comment définir et supprimer des variables d'environnement sous Linux

Où les variables d'environnement doivent-elles être définies pour Jenkins ?

Variables d'environnement Linux