[systemd-devel] Shell expressions in EnvironmentFile
Lennart Poettering
lennart at poettering.net
Wed Oct 8 11:48:55 PDT 2014
On Wed, 08.10.14 18:07, Damien Robert (damien.olivier.robert+gmane at gmail.com) wrote:
> Lennart Poettering wrote in message
> <20141008094838.GB26284 at gardel-login>:
> > On Tue, 07.10.14 19:18, Simon Peeters (peeters.simon at gmail.com) wrote:
> >> ExecStart=/bin/sh -c ". /something/that/sets/var; /some/file $var"
> > THis would certainly work, but I'd strongly advise to use "exec" for
> > executing /some/file at the end, so that the shell process is replaced
> > by the actual daemon process, instead of continuing running with the
> > demon process as child.
>
> I am hijacking the thread because one minor inconvenience I have with sh -c
> 'exec foo' is that in journalctl the logging refers to 'sh':
> For instance:
>
> [Unit]
> Description=Git backup
> ConditionPathIsDirectory=%h/backups/gitbackup
>
> [Service]
> Type=simple
> ExecStart=/bin/sh -c 'exec %h/mine/script/gitbackup -v save'
> Nice=19
> IOSchedulingClass=best-effort
> IOSchedulingPriority=7
>
> gives me the log:
>
> Oct 08 21:35:43 mithrim sh[9680]: [master 54c23ae]
> Oct 08 21:35:43 mithrim sh[9680]: 2 files changed, 3 insertions(+), 3 deletions(-)
>
> Do you know of any way to get 'gitbackup' in the log rather than 'sh'?
SyslogIdentifier= should do it.
See systemd.exec(5) for details.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list