はじめに
指定した時間にcronに処理を実行させるためには、macを起動していなければならない。
そのため、pmset、cronを用いてmacの自動起動、シャットダウンを設定した。
作業を記録する。
作業内容
-
macのスクリーンセーバー機能を全てoff、ディスプレイがoffになった後パスワードを要求しないようにする。
自動で動かしているプログラムが起動している時にスクリーンをoffにしないため、起動した後にロックがかからないように設定。
(共有スペースにpcを置く必要があるひとはやらないほうがいい)
システム設定> ロック画面で設定 -
自動ログインユーザーを設定
pmsetでpcを起動したのち、自動でログインするため。
-
「操作がなければ自動的にログアウト」をoffにする。
自動で動かしているプログラムが起動している時にログアウトをしないために設定。 -
cronで自動起動、シャットダウンを設定する。
この時、root権限でログインしたのち、cronで設定する。
自動起動、シャットダウンはroot権限でないとうまく実行されない。
//root権限ではいる
sudo su
//cronを開く
crontab -e
0 20 * * * sudo pmset repeat wakeorpoweron MTWRFSU 23:50:00
30 22 * * * /sbin/shutdown -h now
0 0 * * * sudo pmset repeat wakeorpoweron MTWRFSU 11:50:00
15 2 * * * /sbin/shutdown -h now
0 12 * * * sudo pmset repeat wakeorpoweron MTWRFSU 19:50:00
0 14 * * * /sbin/shutdown -h now
11:50に自動起動→14時にシャットダウン→19:50に起動→22:30にシャットダウン
→23:50に自動起動→2:15分にシャットダウン
あとはループ
大切なポイント
シャットダウン、起動に関するcronはroot権限で設定する
pmsetで登録できるスケジュールは一つのみ
shutdounは/sbin/shutdown
をつけないとシャットダウンできない
参考