Making Services

Basics

A service can consist of two files - the .sh script to run, and the .service file which describes its run conditions.

The .service file goes in /etc/systemd/system. The scripts themselves might be best placed in $HOME/.local/bin.

Example - tracker.service

1[Unit]
2Description=Tracker
3
4[Service]
5Type=simple
6ExecStart=/path/to/script
7
8[Install]
9WantedBy=multi-user.target

After making the new service, systemd requires reloading:

1sudo systemctl daemon-reload

Types

  • simple - the service cannot be called on by others. It runs on repeat.
  • oneshot - the service executes once, then stops.