pmsetの使い方とmacのスリープ解除スケジュール化

pmsetの使い方

電源管理スケジュールの確認

ターミナルで以下のコマンドを実行し、現在設定されている電源管理のスケジュールを確認できる。
pmset -g sched
> Repeating power events:
> wakepoweron at 7:55PM every day

電源管理スケジュールの登録

日時時間指定の単発スケジュールの登録

’ MM/dd/yy HH:mm:ss(月/日/西暦下2桁 時/分/秒) ’の書式で作動日時を指定する。 root権限で実行していない場合はパスワードを聞かれるので入力する。 root権限でない場合はsudoで実行する。 root権限なしで2019/04/18/ 6:00:00にスリープを解除する場合、以下のコマンドとなる。
sudo pmset schedule wake "04/18/19 6:00:00"

繰り返し実行の登録

毎日実行させる場合はrepatと曜日指定で行う。 MTWRFSU はそれぞれ以下の曜日を意味する。これらを組み合わせて曜日指定を行う。
  • M:(月)
  • T:(火)
  • W:(水)
  • R:(木)
  • F:(金)
  • S:(土)
  • U:(日) 毎週(月)〜(水)11:00にシャットダウンをするには以下のコマンドとなる
    sudo pmset repeat shutdown MTW 11:00:00
    
    また、この指定方法はmagの省エネルギー設定→スケジュールの内容と重複するため、スケジュールで設定していた内容はこのコマンドにより書き換えられる。 よって、繰り返し実行コマンドを複数登録することはできない。 その場合は、以降に示すようにcronと併用し実施する。

スケジュールのキャンセル

単発スケジュールのキャンセル

単発のスケジュールはpmset -g schedにより登録を確認すると、以下のようにコマンドの最初にindexが付加されている。このindexを指定しキャンセルを行う。 0番目のスケジュールをキャンセルする場合
[0]  wake at 03/16/19 23:10:00 by 'pmset'
sudo pmset schedule cancel 0

繰り返し実行のキャンセル

以下のコマンドを実行する。
sudo pmset repeat cancel

コマンド

wake以下にも以下の動作を指定することができる
  • sleep:スリープ
  • shutdown:シャットダウン
  • wake:スリープ解除
  • wakeorpoweron:スリープ解除または電源ON
  • poweron:電源ON
pmsetコマンドマニュアル https://www.dssw.co.uk/reference/pmset.html

複数の繰り返しスケジュールを指定する

cronを併用し、スケジュール実行を実施する。
 pmsetによるスリープ解除or端末起動時間の設定をcronにより実行し、コマンド実行の度に次のスリープ解除時間を変更し、スリープ解除のチェーン実行を行うことにより実現する。
 スリープ解除時間の指定→スリープ解除→次のスリープ解除時間の指定→スリープ解除→・・・
以下のようにcronによりpmsetのスケジュールを組む。
 毎日6:30,11:20,19:50にスリープ解除の場合、最初は省エネルギー設定でもcronでもよいので、とりあえず6:30にスリープ解除設定をする。 そのあとは6:30:スリープ解除→6:50:スリープ解除設定11:20へ変更→11:20スリープ解除→11:40スリープ解除設定19:50へ変更→19:50スリープ解除→20:10スリープ解除設定6:30へ変更
00 01 * * * pmset repeat wakeorpoweron MTWRFSU 06:30:00
50 06 * * * pmset repeat wakeorpoweron MTWRFSU 11:20:00
40 11 * * * pmset repeat wakeorpoweron MTWRFSU 19:50:00
10 20 * * * pmset repeat wakeorpoweron MTWRFSU 06:30:00
今回は省エネルギー設定で30分経過でスリープモードになるように設定しているため、スリープを指定していないが、必要であればスリープやシャットダウンをコマンドに追記する。
参考 https://apple.stackovernet.com/ja/q/18276

cronはroot権限で実行する

pmsetはroot権限でない場合、パスワード入力が必要になってしまう。 よって、以下のコマンドによりroot権限になり、cronをroot権限で実行する。
sudo su
以下のようにcrontab-eまたはファイル指定により実行させる

crontabを直接編集する場合

crontab -e

ファイル指定の場合

crontab cron.txt
cronの実行に関しては以下の記事も参考にしてください。 https://kapibara3kapibara3.blogspot.com/2019/03/crontabmac.html

rootからユーザに戻る

rootからユーザに戻る場合はexitで戻る
exit
※ユーザのcronとrootのcronの両方設定することができるので、どちらに設定しているか忘れないように。

0 件のコメント:

コメントを投稿

注目の投稿

pmsetの使い方とmacのスリープ解除スケジュール化

pmsetの使い方 電源管理スケジュールの確認 ターミナルで以下のコマンドを実行し、現在設定されている電源管理のスケジュールを確認できる。 pmset -g sched > Repeating power events: > wakepoweron at ...