:PROPERTIES:
:ID:       bf277242-4f09-46a2-aa6b-1d75ce0025ac
:END:
#+title: systemd_services
#+filetags: :linux:systemd:


* To add a systemctl

   - create a new systemd service file:
     `sudo nano /etc/systemd/system/name.service`

   - example content:
    [Unit]
    Description=Watch TODO Directory and Update Master Task List
    After=network.target

    [Service]
    ExecStart=/usr/local/bin/watch-todo.sh
    Restart=always
    User=zaine
    WorkingDirectory=/home/zaine/master-folder/org_files/todo
    StandardOutput=append:/var/log/watch-todo.log
    StandardError=append:/var/log/watch-todo.log

    [Install]
    WantedBy=multi-user.target

   - reload and start:
     sudo systemctl daemon-reload
     sudo systemctl enable watch-todo.service
     sudo systemctl start watch-todo.service

* To remove a systemctl service:

    systemctl stop [servicename]
    systemctl disable [servicename]
    rm /etc/systemd/system/[servicename]
    rm /etc/systemd/system/[servicename] # and symlinks that might be related
    rm /usr/lib/systemd/system/[servicename] 
    rm /usr/lib/systemd/system/[servicename] # and symlinks that might be related
    systemctl daemon-reload
    systemctl reset-failed

