这是计时器 vsftpd-restart.timer
[Unit]
Description=Restart vsftpd daily at 6 AM
After=network.target
[Timer]
Unit=vsftpd-restart.service
OnCalendar=*-*-* 06:00:00
Persistent=true
[Install]
WantedBy=timers.target
这是脚本 vsftpd-restart.service
[Unit]
Description=Restart vsftpd daily at 6 AM
After=network.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c 'systemctl stop vsftpd; systemctl start vsftpd'
[Install]
WantedBy=vsftpd-restart.timer
以下是 vsftpd systemctl 日志
Oct 07 06:00:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:00:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:00:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:00:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:00:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:01:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:01:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:01:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:01:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:01:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:02:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:02:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:02:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:02:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:02:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:03:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:03:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:03:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:03:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:03:02 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:04:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:04:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:04:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:04:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:04:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:05:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:05:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:05:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:05:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:05:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:06:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:06:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:06:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:06:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:06:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:07:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:07:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:07:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:07:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:07:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:08:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:08:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:08:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:08:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:08:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:09:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:09:01 test systemd[1]: vsftpd.service: Deactivated successfully.
Oct 07 06:09:01 test systemd[1]: Stopped vsftpd.service - vsftpd FTP server.
Oct 07 06:09:01 test systemd[1]: Starting vsftpd.service - vsftpd FTP server...
Oct 07 06:09:01 test systemd[1]: Started vsftpd.service - vsftpd FTP server.
Oct 07 06:10:01 test systemd[1]: Stopping vsftpd.service - vsftpd FTP server...
Oct 07 06:10:01 test systemd[1]: vsftpd.service: Deactivated successfully.
当前设置导致 vsftpd 服务从早上 6:00 到 7:00 每分钟重新启动一次,原因是 OnCalendar= - -* 06:00:00 计时器是持久的 (Persistent=true)。这意味着计时器会尝试在系统关闭期间“追上”错过的事件,因此如果系统在早上 6 点关闭,则系统重新上线时会导致多个触发器。这应该可以做到:
vsftpd 重启定时器
并且不要忘记使用新的计时器脚本重新加载: