设置systemd的环境变量,有如下几种方式:
- 1.在 xxx.service 通过
Environment="MY_VAR_1=VAR_1_VALUE"
设置变量 - 2.在 xxx.service 通过
EnvironmentFile=/opt/workspace/my_env
指定配置文件 - 3.
systemctl edit xxx.service
或手动创建/etc/systemd/system/xxx.service.d/override.conf
文件进行配置
同一个变量,在多个方式同时配置,会存在覆盖。建议只使用一种方式。
方式1 Environment=
编辑 systemd 的 service 文件,添加 Environment=
形如下:
[Service]
Environment="MY_VAR_1=VAR_1_VALUE"
Environment="MY_VAR_2=VAR_2_VALUE"
上述添加了两个环境变量:MY_VAR_1=VAR_1_VALUE
和 MY_VAR_2=VAR_2_VALUE
如需修改环境变量,即修改 service 文件,需要重新 reload
systemctl daemon-reload
方式2 EnvironmentFile=
编辑 systemd 的 service 文件,添加 EnvironmentFile=
形如下:
[Service]
EnvironmentFile=/opt/workspace/env_test.env
EnvironmentFile=-/opt/workspace/env_test_not_exist.env
上述指定了两个设置环境变量的文件:/opt/workspace/env_test.env
和 /opt/workspace/env_test_not_exist.env
。
需要注意的是,第二个EnvironmentFile使用-
在目录前,作用是忽略文件不存在。
创建 /opt/workspace/env_test.env
格式如下
MY_VAR_1=VAR_1_VALUE
MY_VAR_2=VAR_2_VALUE
方式3 创建 xxx.service.d/override.conf
创建这个文件,有两种方式,执行 systemctl edit xxx.service
后,进入 nano 编辑界面保存成文件即可。或者在 xxx.service 同目录下,创建 xxx.service.d 文件夹,在该文件夹下,创建 override.conf (文件名随便,一般为 override.conf )。
创建的文件格式如下:
[Service]
Environment="MY_VAR_1=VAR_1_VALUE"
Environment="MY_VAR_2=VAR_2_VALUE"
以 Debian 系统为例,一般 xxx.service 文件在/etc/systemd/system/
下,
所以创建的文件路径为/etc/systemd/system/xxx.service.d/override.conf
引用:
How to set environment variable in systemd service?
本文由 ONE 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
如有版权疑问交流,请给我留言:oneisall8955@gmail.com
本文永久链接:https://liuzhicong.cn/index.php/guide/systemd-environment-variable.html
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
如有版权疑问交流,请给我留言:oneisall8955@gmail.com
本文永久链接:https://liuzhicong.cn/index.php/guide/systemd-environment-variable.html