Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I want to create a cron job which executes daiy at assigned time and it restart the ubuntu server.

I try to add reboot only in cron, but it is not working, whereas it works when I try to execute it from CLI.

Please advise, what command should I add in cron, so that it reboot the server daily at specific time.

share|improve this question
    
May I ask why you need to reboot a server on a daily basis? This is an indication to me you're doing things wrong. Probably. –  gertvdijk Jan 7 '13 at 13:04
    
@gertvdijk i've run into situations where you need to reboot a machine regularly. Proprietary software that gets a bad memory leak after ~30 hours of uptime, things like that. –  jrg Jan 7 '13 at 13:08
    
Gaming servers (cough) Minecraft (cough) often ramleak or somehow fork into hundreds of processes. –  Whaaaaaat Dec 23 '13 at 21:45

1 Answer 1

You need to run the following command:

/sbin/shutdown -r now

with root pirviliges. The way to do it is to use root's crontab, not your user crontab. A sudo before the usual crontab command does that:

sudo crontab -e

Tip: You can switch the shell's standard editor for things like crontab and visudo with sudo update-alternatives --config editor (and than selecting the editor of your choice.

Editing the crontab you should add the following line to you file:

# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command  

@daily root /sbin/shutdown -r now

The "@daily" here is a shortcut for every day at midnight (equivalent to "0 0 * * *"). By the way - why do you want a daily reboot?

EDIT - see https://help.ubuntu.com/community/CronHowto for the following: "Crontab commands are generally stored in the crontab file belonging to your user account (and executed with your user's level of permissions). If you want to regularly run a command requiring administrative permissions, edit the root crontab file: sudo crontab -e"

EDIT - thanks to @charlesbridge for his comment - edited answer to include the full path

share|improve this answer
1  
With cron, its always safest to use full paths: /sbin/shutdown -r –  charlesbridge Jan 7 '13 at 12:59
    
what is the root do between the time day setting and the command? shouldn't it just be @daily /sbin/shutdown -r now in the root users cronfile? TIA –  Ominus Aug 19 at 21:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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