スリープ解除してcronからジョブを動かし結果をメールする2024/03/31

  • macOSのcronはスリープ中は動作しない
  • 今回は1日1回、必要ならジョブの中で次のスケジュールを設定(pmset -g sched)する
sudo pmset repeat wakeorpoweron MTWRFSU 11:59:00
  • job実行中にスリープしないようにcronの中でスリープをパスワードなしで設定解除できるようにする
sudo visudo で追加
userid    ALL = (ALL) NOPASSWD: /usr/bin/pmset -a sleep *
  • 最近のOS(12,13)ではcronの結果がメールされないので、スリープ制御とメールするスクリプトをかぶせる
#!/bin/sh
# cronjob
# sleeo off
/usr/bin/sudo /usr/bin/pmset -a sleep 0 
# job & mail
/Users/userid/bin/cronJobScript \
	2>&1 | /usr/bin/mail -s "Subject" mailaddress
# Sleep set
/usr/bin/sudo /usr/bin/pmset -a sleep 15
  • crontabを作成
SHELL=/bin/sh
#minute	hour	mday	month	wday	command
0       12      *       *       *       /Users/userid/bin/cronjob
  • 確認OS
% sw_vers 
ProductName:	macOS
ProductVersion:	12.7.3
BuildVersion:	21H1015

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログの名前は?:の右側

コメント:

トラックバック

Google Analytics使用