无法通过 cron 重新启动 vsftpd 服务

无法通过 cron 重新启动 vsftpd 服务

Ubuntu 14.04.5 LTS我在用着脚本当正在使用的 TLS 证书更新时,重新启动某些服务。该脚本通过 root 的 crontab 运行。TLS 证书的任何更改都会触发重新启动服务并激活新证书的命令。

执行该命令时service vsftpd restart,cron 守护程序会记录以下错误:vsftpd: unrecognized service

不用说,service vsftpd restart在 root 的命令行上运行时,它可以按预期工作。

我还注意到运行时 vsftpd 没有出现在服务列表中service --status-all

root 用户的 Crontab

14 7 * * * /root/vesta-server-ssl-cert.sh

问题:通过 root 的 crontab 重新启动 vsftpd 服务的脚本中应放置什么正确的命令?

答案1

不久前,我在其他服务上也遇到过同样的问题;使用 initctl 解决了这个问题,并没有深入挖掘到底发生了什么。所以尝试一下:

/sbin/initctl restart vsftpd

它应该可以工作。

哦,我讨厌这些“这有效,但不知道为什么”的答案,但这就是我目前所拥有的全部。

编辑:好的,现在我感觉好多了。service是一个 shell 脚本,它需要在 PATH 环境中有 /sbin,否则它找不到它映射“重新启动”到的停止和启动二进制文件。然后它使用 /etc/init.d/ 脚本,但它找不到该脚本,因此它报告“无法识别的服务”

汤姆汤姆汤姆

相关内容