[LINUX] Comment utiliser des variables dans les fichiers de définition d'unité systemd

Nous allons vous montrer comment utiliser ** variables ** dans le fichier de définition d'unité lors du démarrage d'un service avec la commande systemctl.

environnement

1. Spécifiez une variable dans le fichier de définition d'unité

Vous pouvez spécifier des variables en utilisant ʻEnvironmentdans le fichier de définition d'unité. Ici, créez un fichier de définition d'unité detest.service` et vérifiez-le.

/etc/systemd/system/test.service


[Unit]
Description=TestService

[Service]
Environment=TEST_VALUE1=display1
Environment=TEST_VALUE2=display2
ExecStart=/bin/echo ${TEST_VALUE1} ${TEST_VALUE2}

Commencez par systemctl start test.

[root@CENTOS7 ~]# systemctl start test
[root@CENTOS7 ~]#

Vérifiez avec journalctl -u test.

[root@CENTOS7 ~]# journalctl -u test
--Les journaux commencent au jour 2019-12-29 17:19:15 JST,fin au jour 2019-12-29 18:07:04 JST.
29 décembre 18:07:04 CENTOS7 systemd[1]: Started TestService.
29 décembre 18:07:04 CENTOS7 echo[1398]: display1 display2

Les valeurs des variables «TEST_VALUE1» et «TEST_VALUE2», «display1» et «display2» sont affichées.

2. Spécifiez les variables d'environnement dans le fichier de définition d'unité

Vous pouvez utiliser ʻEnvironmentFiledans le fichier de définition d'unité pour spécifier le fichier de variable d'environnement. Ici, créez un fichier de définition d'unité detest2.service` et vérifiez-le.

/etc/sysconfig/test2


TEST_VALUE1=display1
TEST_VALUE2=display2

/etc/systemd/system/test2.service


[Unit]
Description=Test2Service

[Service]
EnvironmentFile=/etc/sysconfig/test2
ExecStart=/bin/echo ${TEST_VALUE1} ${TEST_VALUE2}

Commencez par systemctl start test2.

[root@CENTOS7 ~]# systemctl start test2
[root@CENTOS7 ~]#

Vérifiez avec journalctl -u test2.

[root@CENTOS7 ~]# journalctl -u test2
--Les journaux commencent au jour 2019-12-29 17:19:15 JST,fin au jour 2019-12-29 18:19:45 JST.
29 décembre 18:19:45 CENTOS7 systemd[1]: Started Test2Service.
29 décembre 18:19:45 CENTOS7 echo[1444]: display1 display2

Les valeurs des variables «TEST_VALUE1» et «TEST_VALUE2», «display1» et «display2» définies dans «/ etc / sysconfig / test2» sont affichées.

Supplément

Même si vous spécifiez TEST_VALUE1 = $ PATH etc. dans le fichier de variables d'environnement / etc / sysconfig / test2, $ PATH ne sera pas développé comme indiqué ci-dessous.

/etc/sysconfig/test2


TEST_VALUE1=display1
TEST_VALUE2=$PATH
[root@CENTOS7 ~]# systemctl start test2
[root@CENTOS7 ~]# journalctl -u test2
--Les journaux commencent au jour 2019-12-29 17:19:15 JST,fin au jour 2019-12-29 18:25:04 JST.
29 décembre 18:25:04 CENTOS7 systemd[1]: Started Test2Service.
29 décembre 18:25:04 CENTOS7 echo[1457]: display1 $PATH

c'est tout

Recommended Posts

Comment utiliser des variables dans les fichiers de définition d'unité systemd
Comment utiliser SQLite en Python
Comment utiliser Mysql avec python
Comment utiliser ChemSpider en Python
Comment utiliser PubChem avec Python
Comment utiliser des valeurs discrètes comme variables dans Scipy Optimize
Comment utiliser les colonnes calculées dans CASTable
Comment définir dynamiquement des variables en Python
Comment utiliser Google Test en langage C
Comment utiliser les fonctions dans des fichiers séparés version Perl et version Python
Comment utiliser l'interpréteur d'Anaconda avec PyCharm
Comment utiliser __slots__ dans la classe Python
Comment utiliser les expressions régulières en Python
Comment utiliser Map dans ViewPager d'Android
Comment lire des fichiers CSV avec Pandas
Comment utiliser is et == en Python
Comment utiliser la bibliothèque C en Python
Résumé de la façon d'importer des fichiers dans Python 3
Comment utiliser la bibliothèque d'images Python dans la série python3
Résumé de l'utilisation de MNIST avec Python
Comment vérifier / extraire des fichiers dans un package RPM
Comment obtenir les fichiers dans le dossier [Python]
Comment utiliser tkinter avec python dans pyenv
Utilisez os.getenv pour obtenir des variables d'environnement en Python
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser Seaboan
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser python-kabusapi
Comment utiliser OptParse
Comment utiliser le retour
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
[Pour les débutants] Comment utiliser la commande say avec python!
[Python] Comment développer des variables dans une chaîne de caractères
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras
Comment charger des fichiers dans Google Drive avec Google Colaboratory
Comment utiliser le bootstrap dans la vue de classe générique Django