parent
01e366cbac
commit
473366f3ca
2 changed files with 57 additions and 1 deletions
@ -0,0 +1,56 @@ |
||||
--- |
||||
title: 'Dummy Systemd Service' |
||||
description: 'Create a long-running systemd service that logs to a file.' |
||||
isNew: false |
||||
sort: 8 |
||||
difficulty: 'beginner' |
||||
nature: 'Systemd' |
||||
skills: |
||||
- 'Linux' |
||||
- 'DevOps' |
||||
- 'Systemd' |
||||
seo: |
||||
title: 'Dummy Systemd Service' |
||||
description: 'Create a long-running Systemd service that autorestarts and logs to a file.' |
||||
keywords: |
||||
- 'Dummy Systemd Service' |
||||
- 'Systemd Service' |
||||
- 'Systemd' |
||||
roadmapIds: |
||||
- 'devops' |
||||
--- |
||||
|
||||
The goal of this project is to get familiar with `systemd`; creating and enabling a service, checking the status, keeping an eye on the logs, starting and stopping the service, etc. |
||||
|
||||
## Requirements |
||||
|
||||
Create a script called `dummy.sh` that keeps running forever and writes a message to the log file every 10 seconds simulating an application running in the background. Here is an example script: |
||||
|
||||
```bash |
||||
#!/bin/bash |
||||
|
||||
while true; do |
||||
echo "Dummy service is running..." >> /var/log/dummy-service.log |
||||
sleep 10 |
||||
done |
||||
``` |
||||
|
||||
Create a systemd service `dummy.service` that should start the app automatically on boot and keep it running in the background. If the service fails for any reason, it should automatically restart. |
||||
|
||||
You should be able to `start`, `stop`, `enable`, `disable`, check the `status` of the service, and check the logs i.e. following commands should be available for the service: |
||||
|
||||
```bash |
||||
# Interacting with the service |
||||
sudo systemctl start dummy |
||||
sudo systemctl stop dummy |
||||
sudo systemctl enable dummy |
||||
sudo systemctl disable dummy |
||||
sudo systemctl status dummy |
||||
|
||||
# Check the logs |
||||
sudo journalctl -u dummy -f |
||||
``` |
||||
|
||||
<hr /> |
||||
|
||||
After completing this project, you will have a good understanding of systemd, creating custom services, managing existing services, debugging issues, and more. |
Loading…
Reference in new issue