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
.
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é de
test.service` et vérifiez-le.
TEST_VALUE1
sur display1
et la variable TEST_VALUE2
sur display2
./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.
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é de
test2.service` et vérifiez-le.
/etc/sysconfig/test2
TEST_VALUE1=display1
TEST_VALUE2=display2
est défini sur le fichier de variable d'environnement
/ etc / sysconfig / test2`./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.
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