sudo journalctl -u <service-name> view logs for a specific service
sudo journalctl -u <service-name> -f tail logs in real time
sudo journalctl --since "1 hour ago"
sudo journalctl --since "2023-10-01" --until "2023-10-02” view logs from the last hour, a specific date range, or just recent logs
systemctl list-units --type=service --all list every single service on your system, even disabled or static ones
systemctl list-dependencies <service-name> List dependencies of a service
sudo systemctl mask <service-name> Prevent a service from starting — manually or automatically
sudo systemctl restart --dry-run <service-name> see what will happen when you restart a service, but without actually doing it
systemctl list-unit-files --type=service list all installed unit files
systemctl cat <service-name> see the details of a unit file
sudo systemctl edit <service-name> edit a unit file

[Unit] Description=My Custom Service After=network.target [Service] ExecStart=/path/to/your/script.sh Restart=always User=root Group=root [Install] WantedBy=multi-user.target | Sample unit file.

Here's what each section does:

[Unit]: Defines the service's description and its relationship with other services (in this case, it starts after the network is up). [Service]: Specifies the command to run (ExecStart) and the behavior for restarting the service (Restart=always). [Install]: Ensures the service starts automatically at boot when the system reaches the multi-user target. | | sudo systemctl daemon-reload sudo systemctl enable my_custom_service.service sudo systemctl start my_custom_service.service | Reload systemd with a new unit file | | systemd-analyze plot > boot-graph.svg | visual representation of your boot process | | systemctl --failed | list and examine failed units |

https://www.youtube.com/watch?v=rAe9Iw08Fn0

systemd by example - the systemd playground

Linux Fu: Getting Started With Systemd