本文以 Ubuntu 18.04 为例,介绍如何在 Linux 下使 systemd 服务定时重启。有几种不同的方法。
** crontab **
注意,此种方法在 root 用户下使用最佳,普通用户的 --user 服务会有许多问题需要解决。
`30 3 * * * /bin/systemctl restart your_service`
`crontab -l cronjob`
** RuntimeMaxSec **
```
[Service]
Restart=always
RuntimeMaxSec=604800
```
** timer **
a-restart.service
```
[Unit]
Description=Restart Service
[Service]
Type=oneshot
ExecStart=/bin/systemctl try-restart some-service.service
```
a-restart.timer
```
[Unit]
Description=Reboot Scheduling
[Timer]
OnCalendar=*-*-* 01:30:00
[Install]
WantedBy=timers.target
```
`systemctl enable a-restart.timer`
** WatchdogSec **
```
[Service]
WatchdogSec=10
Restart=always
```