Pmset複数の繰り返しスケジュールペア


0

pmset bashコマンドを複数の繰り返しアクションペアで使用できますか?

例えば:

13:00に起きるか電源を入れる、17:00に寝る

そして

18:00に起きる、20:00にシャットダウン

そうでなければ、これを達成することができるオープンソースのツールはありますか?特定の時間にコンピュータの電源を入れることができる他のツールはありますか、それともpmsetでのみ可能ですか?

編集: 私はすべてのUNIX系システムでbashで動くツールを探しています。

回答:


0

あなたが使用することができます rtcwake そして shutdown それをするために。

rtcwake コンピュータを一時停止し、一定期間後に起動するためのユーティリティです。基本的な使い方は

rtcwake -m <mode> -s <seconds>

例えば

rtcwake -m mem -s 60

60秒後にコンピュータをramして起動します。次のように、目的のアクションを順番に呼び出すスクリプトを書くことができます。

#!/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

使用するにはroot権限が必要です rtcwake


これはすべてのUNIX風システムで動作しますか?編集を参照してください。
Blue Ice
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.