systemd 设置环境变量

本文详细介绍了如何在systemd服务中设置环境变量,包括直接在service文件中设置、通过EnvironmentFile指定配置文件以及创建override.conf文件。同时提到了不同设置方式的覆盖规则和操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

systemd 设置环境变量 - ONE

设置 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?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值