Kullanabilirsiniz rtcwake
ve shutdown
bunu yapmak için.
rtcwake
bilgisayarı askıya almak ve belirli bir süre sonra uyandırmak için bir yardımcı programdır. Temel kullanım
rtcwake -m <mode> -s <seconds>
Örneğin
rtcwake -m mem -s 60
60 saniye sonra bilgisayarı kapatıp uyandırmak için bilgisayarı askıya alacaktır. İstenen eylemleri sırayla çağırmak için komut dosyaları yazmak mümkündür, örneğin:
#!/bin/sh
# calculate seconds remaining until $1
seconds_until() {
current_time=`date +%s`
target_time=`date -d $1 +%s`
seconds=`expr $target_time - $current_time`
# wrap seconds
[ $seconds -lt 0 ] && seconds=`perl -e "print $seconds+86400"`
echo $seconds
}
# suspend and wake up at 13:00
rtcwake -m mem -s `seconds_until 13:00`
# wait until 17:00, suspend, and wake up at 18:00
sleep `seconds_until 17:00`
rtcwake -m mem -s `seconds_until 18:00`
# wait until 20:00 and shutdown
sleep `seconds_until 20:00`
shutdown -h now
Kök ayrıcalığı kullanmak için gereklidir rtcwake
.