Added description of systemd service files.
							parent
							
								
									a8abc68901
								
							
						
					
					
						commit
						37baca5c82
					
				@ -0,0 +1,47 @@
 | 
			
		||||
+++
 | 
			
		||||
title = "Servis v systemd"
 | 
			
		||||
description = "Jak vyrobit z binárky systemd daemona"
 | 
			
		||||
date = 2021-02-4
 | 
			
		||||
draft = false
 | 
			
		||||
slug = "systemd-service"
 | 
			
		||||
 | 
			
		||||
[taxonomies]
 | 
			
		||||
categories = ["linux"]
 | 
			
		||||
tags = ["systemd", "administrace"]
 | 
			
		||||
+++
 | 
			
		||||
 | 
			
		||||
Pokud potřebujeme spouštět program jako službu, na distribucích se systemd musíme vytvořit konfigurační soubor s popisem služby. Výhoda je, že lze jako daemona použít i normální binárka, kde se neřeší daemonizace forkem.
 | 
			
		||||
 | 
			
		||||
Konfigurák vytvoříme v `/etc/systmd/system/` s obsahem:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
[Unit]
 | 
			
		||||
Description=Foo
 | 
			
		||||
 | 
			
		||||
[Service]
 | 
			
		||||
ExecStart=/usr/sbin/foo-daemon
 | 
			
		||||
 | 
			
		||||
[Install]
 | 
			
		||||
WantedBy=multi-user.target
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Až je to hotové, je potřeba přenačíst služby příkazem:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ sudo systemctl daemon-reload
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Pak se dá služba ovládat přes systemctl:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ sudo systemctl start foo-daemon
 | 
			
		||||
$ sudo systemctl stop foo-daemon
 | 
			
		||||
$ sudo systemctl restart foo-daemon
 | 
			
		||||
$ systemctl status foo-daemon
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
A vypsat log přes journalctl:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ journalctl -u foo-daemon
 | 
			
		||||
```
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue