Variáveis no arquivo “systemd”?

2

Eu tenho este arquivo systemd:

  [Unit]
  Description=something website
  After=syslog.target
  Requires=postgresql.service

  [Service]
  ExecStart=/home/my_user/my_webapp/bin/ foreground
  ExecStop=/home/my_user/my_webapp/bin/ stop
  Restart=on-abort
  WorkingDirectory=/home/my_user/my_webapp/bin
  SyslogIdentifier=my_webapp_web_app
  User=my_user

  [Install]
  WantedBy=multi-user.target

Como você pode ver, "my_webapp" e "my_user" são repetidos várias vezes. Existe alguma maneira de armazená-los em variáveis e usar as variáveis?

    
por Joddy 24.11.2017 / 04:48

1 resposta

2

Provavelmente, a coisa mais próxima que corresponda às suas necessidades é usar a opção EnvironmentFile .

# file: /home/my_user/my_webapp/environment
# included in systemd unit my_webapp
# EnvironmentFile=-/home/my_user/my_webapp/environment
BASEDIR=/home/my_user/my_webapp

E sua nova unidade

[Unit]
Description=something website
After=syslog.target
Requires=postgresql.service

[Service]
ExecStart=$BASEDIR/bin/ foreground
ExecStop=$BASEDIR/bin/ stop
Restart=on-abort
WorkingDirectory=$BASEDIR/bin
SyslogIdentifier=my_webapp_web_app
User=my_user

[Install]
WantedBy=multi-user.target

Você provavelmente desejaria que suas variáveis fossem definidas de maneira diferente. Vou deixar isso para você se ajustar.

    
por 24.11.2017 / 07:58

Tags