I realize this is frowned upon. Many will suggest they don’t recommend doing a server restart from cron because it’s not being monitored. In my case I would like to do this, the reason is because the server is used for only one task, in a node server environment. The server runs out of memory and I’ve been advised to just restart the whole server. I’m ok with this.
Currently in my cron file I have the following. (I got this off another stack question) .
0 */4 * * * /usr/bin/reboot
However it doesn’t work. When I manually go to this directory /usr/bin/
then type “
reboot” it works. But executing like this /usr/bin/reboot from chron doesn’t restart the server.
When I do
ls /usr/bin/reboot the return is
When I do
which reboot the return is
How would I restart the server on centos 6 using cron?
As a commenter mentioned, you’re calling the wrong program. The reboot binary is at
/sbin/reboot, not at
/usr/bin/reboot. The latter is a symbolic link to
consolehelper, which is a wrapper that lets non-root users run the corresponding program in
/sbin under certain circumstances. You can see its man page if you’re really interested in how it works, but as CentOS 6 will go end of life soon, and current versions do not use it, it’s probably not worth worrying about. Just put in the correct path and go on to more important things, like fixing the memory leak.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.