Systemd: O que há de errado com esta unidade? [duplicado]

0

Eu escrevi esta unidade ( /etc/systemd/system/[email protected] ):

[Unit]
Description=TEST (%I)

[Service]
ExecStart=/bin/echo "%i %I" >> /home/vagrant/test.txt

[Install]
WantedBy=multi-user.target

Depois de executar systemctl enable test@ e systemctl start 'test@slug=test phone=999999999999' , não vejo nenhum arquivo em /home/vagrant .

A saída de systemctl status 'test@slug=test phone=999999999999' é:

● test@slug\x3dtest\x20phone\x3d99999999999.service - TEST (slug=test phone=99999999999)
   Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled)
   Active: inactive (dead)

May 01 15:40:51 vagrant-ubuntu-wily-32 systemd[1]: Started TEST (slug=test phone=99999999999).
May 01 15:40:51 vagrant-ubuntu-wily-32 echo[2161]: slug\x3dtest\x20phone\x3d99999999999 slug=test phone=99999999999 >> /home/vagrant/test.txt

Eu tentei usar systemd-analyze verify [email protected] para verificar erros de sintaxe, mas a saída é: Failed to load [email protected]: Invalid argument .

    
por Ledazinha 01.05.2016 / 17:48

1 resposta

3

Você não pode usar o redirecionamento >> do estilo de shell em ExecStart . Você precisa fazer isso para executar um shell que pode fazer o redirecionamento para você ou definir StandardOutput= . Por exemplo, tente

ExecStart=/bin/bash -c 'echo "%i %I" >> /home/vagrant/test.txt'
    
por 01.05.2016 / 18:08

Tags