Restarting droplet/server automatically daily?

July 17, 2014 9.8k views

Is it possible to have my droplet/server restart daily at a certain time? Then once restarted, either have it login automatically or run a command to run an application automatically?
The reason why I need to do this is because I have an application running and after some time it starts to lag, and until I restart the droplet, it will lag and lag.

The command I need my droplet to run after restarting is something like :
sudo screen ./ -parameters -parameters -parameters

I'm not sure if I could run that command without having to SSH into my droplet.

4 Answers

You can use crontab for that. Log in as root and run crontab -e. Once inside the editor, add the following line:

0 0 * * * reboot

This will reboot the server every day at midnight.

In order to then run a command after reboot, you can add another line to crontab like this:

@reboot screen ./ -parameters -parameters -parameters

In order for this to work under Debian/Ubuntu, you may have to run this command as root:

update-rc.d cron defaults

Another approach is to create a startup script in /etc/init.d (Debian/Ubuntu) with the following content:


case "$1" in
        screen ./ -parameters -parameters -parameters
        exit 0
        exit 0
        exit 0
        echo "Usage: $0 {start|stop|reload}" 1>&2
        exit 1

In case you choose this approach, then remember to do the following:

chmod +x /etc/init.d/musicbot
update-rc.d musicbot defaults

thank you for that post, I tried the first method, which is :
crontab -e
Then put0 0 * * * rebootat the end
and then

@reboot screen ./ -parameters -parameters -parameters

And lastly

update-rc.d cron defaults

For some reason my system does not reboot at midnight. It also doesn't runt he command when I reboot it myself.
I use the command sudo reboot now but my system doesn't actually turn off.

  • What user are the cronjobs running as? Have you run crontab -e as root or as a regular user?

I run crontab -e using sudo

I was unable to get the crontab working too.

Have another answer? Share your knowledge.