Rebooting Linux from script

I have a backup script that gets executed daily via a cron job. It's copying from FTP servers, and attached USB harddisks, databases and etc.

At the end of the script, I want to reboot the Linux machine, so I put in the end of the script:

reboot 

But typing uptime next day reveals that it didn't reboot. The cron job is executed by the root user, so I shouldn't need to put sudo or su infront of the command, afaik. So instead I tried other variants of the command, like:

shutdown -t 10 -r shutdown -r now /sbin/shutdown -t 10 -r /sbin/shutdown -r now /sbin/reboot 

One attempt at a time of course, not all the above 5 lines after each other. The PC just doesn't reboot.

Does anyone have any ideas about this?

5

4 Answers

I've found (tested on Raspbian) that the shutdown command works as expected, but the key thing is that the calling script must not exit before the timer elapses. So I added a sleep command:

shutdown --reboot 1 "System rebooting in 1 minute" sleep 90 
2

Hell of a way to reboot it is to use

reboot -f 

But this will reboot your machine in 3 seconds without gracefully stopping any services\apps, so you might consider another way around.

Also shutdown may not recognize the "-t" argument, taking the time argument like this instead:

shutdown -r 10 //reboot in 10 minutes 

Anyways, man shutdown may come in handy. It does not appear that shutdown accepts anything less than minute resolution, but your milage may vary.

I found a great answer here and it worked for me on Armbian.

I was even able to reboot the system via script that runs not-elevated.

Try this command

systemctl reboot -i 

To shutdown run this

systemctl poweroff -i 

to hibernate, suspend, hybrid run

systemctl hibernate -i systemctl suspend -i systemctl hybrid-sleep -i 

Allow reboot for user using visudo

your_username ALL= /sbin/reboot 

In your script change reboot to sudo reboot

4

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

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

You Might Also Like