我知道这是不被接受的。许多人会建议不要从 cron 重启服务器,因为它没有受到监控。就我而言,我想这样做,原因是服务器在节点服务器环境中仅用于一项任务。服务器内存不足,我被建议重启整个服务器。我同意。
目前在我的 cron 文件中有以下内容。(这是我从另一个堆栈问题中得到的信息)。
0 */4 * * * /usr/bin/reboot
但是它不起作用。当我手动转到此目录 /usr/bin/ 然后键入“ reboot
”时,它起作用了。但是从 chron 执行这样的 /usr/bin/reboot 不会重新启动服务器。
当我做ls /usr/bin/reboot
回报时/usr/bin/reboot
当我做which reboot
回报时/sbin/reboot
如何使用 cron 重新启动 centos 6 上的服务器?
答案1
正如评论者提到的,你调用了错误的程序。reboot 二进制文件位于/sbin/reboot
,而不是/usr/bin/reboot
。后者是 的符号链接consolehelper
,它是一个包装器,允许非 root 用户在/sbin
特定情况下运行相应的程序。如果你真的对它的工作原理感兴趣,你可以查看它的手册页,但由于 CentOS 6 即将终止使用,并且当前版本不使用它,所以可能不值得担心。只需输入正确的路径并继续做更重要的事情,例如修复内存泄漏。