====== 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