Scheduling Linux laptop to suspend and re-animate at scheduled time.

I recently created an automate script which search the internet for certain items and email me the search results. It’s currently running on HP Probook and I don’t want to leave the laptop running indefinitely.

So, I created a cron job to run this script to automatically suspend the laptop when there are no interactive user using the system. The script use rtcwake command to suspend the system in memory and it seemed to work pretty nicely.

To use this script, login as root and saving the following to a file /root/scripts/hybernate

if [ $# -gt 0 ]; then

# Put the laptop to sleep, if no interactive login and wake up later
if [ `who | wc -l` -eq 0 ]; then
/usr/sbin/rtcwake -m mem -s $SLEEP_DURATION

Change the script permissions:

chmod 755 /root/scripts/hybernate

Then add the following line to root crontabs:

# m h dom mon dow command
* * * * * /root/scripts/hybernate 1800 2>/dev/null


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s