39

I'd like to be able to schedule a server reboot at a specific time, but not regularly. How can I do this without futzing with adding and removing cron entries?

78

If it is one-time deal, you can use shutdown command with -r as argument. Instead of using shutdown now, you can add time as parameter (e.g. shutdown -r 12:30).

5
  • 10
    For rebooting the -r flag is needed (e.g. shutdown -r 12:30)
    – esc1729
    Aug 22 '09 at 21:49
  • 6
    -r is critical otherwise you will be hitting a power button somewhere to bring it back up.
    – egorgry
    Aug 22 '09 at 21:51
  • 2
    This is true, I forgot -r in initial answer. :( sorry. Aug 23 '09 at 18:52
  • 12
    This also works with times in the early morning - so if it's 15:55 now, you can use 'shutdown -r 03:15 &' to reboot the server at 3:15am tomorrow morning. (the '&' shunts the command the background so you can log-off without killing the shutdown command)
    – Andrew
    Aug 25 '09 at 14:55
  • 2
    This has the advantage/drawback (depending on your use case) of alerting everyone every hour or so via a broadcast message of the upcoming reboot. Aug 5 '14 at 8:33
17

According to the man page: /sbin/shutdown [-t sec] [-arkhncfFHP] time [warning-message] found at --> http://unixhelp.ed.ac.uk/CGI/man-cgi?shutdown+8

Load of options to choose from but, to answer your question.

To reboot in 5 minutes: /sbin/shutdown -r 5 "reboot in five minutes"

To reboot at exactly 11:00 P.M.: /sbin/shutdown -r 23:00 "rebooting at 11:00 P.M."

NOTE: your message will be broadcast to all active terminals / sessions.

8

the at command is what you want.

at 5:00pm 
do
cd /
/full/path/to/init 6
done

at -l will list the at cmds

3
  • 5
    I would use shutdown instead of init. It's not necessary to do the cd or the do/done (which would probably produce an error). Aug 22 '09 at 22:17
  • really? I've used this for over 8 years and I've never has an issue. hpux. solaris, linux 2.2 - 2.6
    – egorgry
    Aug 22 '09 at 22:47
  • 1
    I personally prefer init 6 myself; had intermittent issues with shutdown -r on some platforms in the past
    – warren
    Aug 23 '09 at 2:04
6

The easiest way I can think of is:

# sleep 2h && reboot

Run this as root.

2
  • what's about root permissinos?
    – Tebe
    Nov 3 '17 at 11:05
  • as I said, run it as root.
    – Omry
    Nov 3 '17 at 22:26
1
echo "reboot" | at -m 23:00       

....

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.