Systemd: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Systemd has done serious damage to networkmanager dns cron ntp... We have to adapt to it, here we go. | |||
=== NTP === | |||
DO NOT INSTALL ntp daemon any more, instead we now have systemd-timesyncd. That relies on systemd-networkd. Here's what I did on gold (which needed a specific ntp server)... | |||
sudo apt remove ntp | |||
emacs /etc/systemd/timesyncd.conf # if you need to hit a non-standard ntp server | |||
systemctl status systemd-networkd systemd-timedated systemd-timesyncd | |||
sudo timedatectl set-ntp on | |||
sudo systemctl start systemd-networkd systemd-timedated systemd-timesyncd | |||
=== Timers === | === Timers === | ||
Revision as of 15:53, 13 December 2017
Systemd has done serious damage to networkmanager dns cron ntp... We have to adapt to it, here we go.
NTP
DO NOT INSTALL ntp daemon any more, instead we now have systemd-timesyncd. That relies on systemd-networkd. Here's what I did on gold (which needed a specific ntp server)...
sudo apt remove ntp emacs /etc/systemd/timesyncd.conf # if you need to hit a non-standard ntp server systemctl status systemd-networkd systemd-timedated systemd-timesyncd sudo timedatectl set-ntp on sudo systemctl start systemd-networkd systemd-timedated systemd-timesyncd
Timers
Use these in place of cron. Each one typically does one task.
systemd timer services ---------------------- https://www.certdepot.net/rhel7-use-systemd-timers/ create a script to do the work: echo "/usr/sbin/logrotate /etc/logrotate.conf" >/usr/local/sbin/logrotate.sh create a service file: nano /usr/lib/systemd/system/logrotate.service [Unit] Description=Rotate logs [Service] Type=simple ExecStart=/usr/local/sbin/logrotate.sh User=root [Install] WantedBy=multi-user.target create a timer file: nano /usr/lib/systemd/system/logrotate.timer [Unit] Description=Rotate logs as needed every night at 2am [Timer] OnCalendar=*-*-* 02:00:00 Unit=logrotate.service [Install] WantedBy=multi-user.target activate on boot: # NOTE you must enable the service (even though not run directly), plus the timer # then start the timer systemctl enable logrotate systemctl enable logrotate.timer systemctl start logrotate.timer utils: systemctl is-enabled ####.timer systemctl is-active ####.timer # to see if timer is active and enabled systemctl start #### # to run service immediately systemctl status #### # nice status output systemctl daemon-reload # to restart services after config changes systemctl list-timers [####*] # to list timers that start with #####