web-dev-qa-db-ja.com

Linuxサーバーをシャットダウンし、特定の時間に自動的にオンにします

私は、午後11時にサーバーをシャットダウンし、午前6時にサーバーをオンにするためのbashスクリプトを作成するように講師に依頼する割り当てを持っています。私はSudo shutdown -h 23:00を使用してそれを行うことができ、それは動作します。しかし問題は、午前6時に自動的にオンにする方法がわからないことです。それを実行できるコマンドが見つかりませんでした。助けていただければ幸いです。

8
JLWK

最初に RTC wakealarm を使用してシステムをウェイクできるかどうかを確認する必要があります。

Sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
Sudo sh -c "echo `date '+%s' -d '+ 3 minutes'` > /sys/class/rtc/rtc0/wakealarm"
cat /sys/class/rtc/rtc0/wakealarm

今確認してください:

cat /proc/driver/rtc

これにより、パラメーターのリストが返されます。 alrm_timeが3分先であり、alrm_dateが今日であることを確認してください。

正常に動作する場合は、/usr/local/sbin/shutwakeスクリプトを作成します。

#!/bin/bash 
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ 7 hours'` > /sys/class/rtc/rtc0/wakealarm" 
shutdown -h now

最後にユーザーを編集します crontabcrontab -eと入力し、次の行を追加します。

0 23 * * * /usr/local/sbin/shutwake
9
Sylvain Pineau