====== Systemd ====== systemctl status show running units systemctl show available unit files systemctl list-unit-files enable unit systemctl enable name.service start unit systemctl start name after change unit file systemctl daemon-reload ===== Systemd as user ===== enable systemd for specific user loginctl enable-linger * add user to systemd-journal group to permit journactl operations usermod -a -G systemd-journal * modify /etc/systemd/journald.conf [Journal] Storage=persistent deprecated export XDG_RUNTIME_DIR="/run/user/$UID" export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" new method mkdir -p ~/.bashrc.d echo "export XDG_RUNTIME_DIR=/run/user/$(id -u)" > ~/.bashrc.d/systemd source ~/.bashrc.d/systemd journalctl -u does not work. Use instead journalctl --user --user-unit ===== Systemd Timer ===== Una valida e più potente alternativa a cron, integrata in systemd, è rappresentata dai timers, di primo impatto soprattutto nell'aspetto supervisivo tramite journalctl, ma non solo (vedi risposta a questo quesito http://unix.stackexchange.com/questions/278564/cron-vs-systemd-timers). Per attivare un timer servono essenzialmente due cose: * Il timer: /etc/systemd/system/nms-restart.timer [Unit] Description=Perform a nms resrtart [Timer] OnCalendar=hourly [Install] WantedBy=timers.target * il servizio: /etc/systemd/system/nms-restart.service [Unit] Description=Perform a nms restart [Service] Type=simple Nice=19 IOSchedulingClass=2 IOSchedulingPriority=7 ExecStart=/usr/local/sbin/nms-restart Poi si avvia e abilita il timer: sudo systemctl start nms-restart.timer sudo systemctl enable nms-restart.timer Per la lista dei timer systemctl list-timers --all Per monitorare si usa journalctl in tutte le sue forme, per esempio: journalctl -f -u nms-restart