Difference between revisions of "Linux: SystemD"
Jump to navigation
Jump to search
Rafahsolis (talk | contribs) |
Rafahsolis (talk | contribs) |
||
| Line 23: | Line 23: | ||
if $programname == '<your program identifier>' then /path/to/log/file.log | if $programname == '<your program identifier>' then /path/to/log/file.log | ||
if $programname == '<your program identifier>' then ~ | if $programname == '<your program identifier>' then ~ | ||
| + | |||
| + | == /etc/systemd/system/example.service == | ||
| + | <nowiki>[Unit] | ||
| + | Description=Tenkaichi Vegeta-server (Tentacle) | ||
| + | After=network.target | ||
| + | |||
| + | [Service] | ||
| + | User=tenkaichi | ||
| + | Group=tenkaichi | ||
| + | EnvironmentFile=/tenkaichi/vegeta-server/cfg/environment.cfg | ||
| + | StandardOutput=syslog | ||
| + | StandardError=syslog | ||
| + | SyslogIdentifier=Vegeta-Tentacle | ||
| + | Restart=always | ||
| + | |||
| + | ExecStart=/usr/local/bin/tentacle_server -o -a ${SERVER_IP} -p ${PORT} -s ${INPUT_DIR} -v -m ${MAX_SIZE} \ | ||
| + | -e ${SSL_CERT} -k ${SSL_CERTKEY} | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </nowiki> | ||
Revision as of 14:25, 10 May 2018
- List all running services
sytemctl
- Start/stop or enable/disable services
systemctl start foo.service systemctl stop foo.service systemctl restart foo.service systemctl status foo.service systemctl enable foo.service systemctl disable foo.service
- Check if service is enabled
systemctl is-enabled foo.service; echo $?
Source: Useful SystemD Commands
Log to syslog
Use the following properties in your systemd service unit file:
StandardOutput=syslog StandardError=syslog SyslogIdentifier=<your program identifier> # without any quote
Then, assuming your distribution is using rsyslog to manage syslogs, create a file in /etc/rsyslog.d/<new_file>.conf with the following content:
if $programname == '<your program identifier>' then /path/to/log/file.log if $programname == '<your program identifier>' then ~
/etc/systemd/system/example.service
[Unit]
Description=Tenkaichi Vegeta-server (Tentacle)
After=network.target
[Service]
User=tenkaichi
Group=tenkaichi
EnvironmentFile=/tenkaichi/vegeta-server/cfg/environment.cfg
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Vegeta-Tentacle
Restart=always
ExecStart=/usr/local/bin/tentacle_server -o -a ${SERVER_IP} -p ${PORT} -s ${INPUT_DIR} -v -m ${MAX_SIZE} \
-e ${SSL_CERT} -k ${SSL_CERTKEY}
[Install]
WantedBy=multi-user.target