システム定期サービスの動作時間を変更する

対象OS

Mac OS X 10.3 (Panther)
Mac OS X 10.4 (Tiger)

はじめに

Mac OS X も含めて、UNIX 系の OS ではシステムにて一定期間ごとに実行されるサービスが存在しています。その実行間隔は下記のように分かれています。

  • 一日一回実行 (daily)
  • 週に一回実行 (weekly)
  • 月に一回実行 (monthly)

これらは主にシステムのメンテナンス目的で行われます。ここで気にしないといけないのはそれらが何時に行われるかってこと。OS X のデフォルトではこれらが未明 (3時とか 5時とか)に行われるように設定されています。そのために夜中に Mac の電源をオフにしている人の場合、これらのサービスが実行されないままになっています。

OS のメンテナンス上、それではよくありません。そこで、深夜に Mac の電源をオフにしている人は下記のように定期サービス実行時間を変更しておきましょう。

設定にあたっては、Tiger と Panther では下記のように設定方法が全く異なります。自分の OS バージョンにあわせて見てください。




Panther での変更方法

Mac OS X を含む UNIX 系 OS では、決められた日時に登録されたサービスを行うために cron (クーロン) が用意されている。Panther ではシステムが行う定期処理も cron を使って行っている。ここではそれらをシステム cron と呼ぶ。システム cron を含め、cron はユーザーがログインしてようがいまいが、コンピュータが起動していれば実行される。

以降にて、システム cron の設定時間の変更方法を解説する。

設定

crontab の編集

# vi /etc/crontab

-- 黄色部分のように修正
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour    mday    month   wday    who     command
#
#*/5    *       *       *       *       root    /usr/libexec/atrun
#
# Run daily/weekly/monthly jobs.
15      12      *       *       *       root    periodic daily
30      13      *       *       6       root    periodic weekly
30      14      1       *       *       root    periodic monthly

時間は 24 時間制で記述する。上記の例では、

  • 日々行われるサービスは毎日 12:15 に実行される。
  • 週一で行われるサービスは毎週土曜日の 13:30 に実行される。
  • 月一で行われるサービスは毎月一日の 14:30 に実行される。

例えば週一のサービスを土曜日でなく月曜日にしたい場合は、weekly の設定行の 5 番目の要素を 6 から 1 に変える。(ちなみに日曜日にしたい場合は 0 または 7 を指定する。)

Tiger での変更方法

Tiger では、これまでのシステム cron に代わり、launchd (ラウンチ・ディー) にて定期サービスが行われるようになった。具体的な変更は下記のようにする。

# cd /System/Library/LaunchDaemons
# vi com.apple.periodic-daily.plist ... 日々の定期サービスの時間変更

-- 18 行目以降を黄色部分のように変更する。
   <key>Hour</key>
   <integer>12</integer> ... 開始する時間
   <key>Minute</key>
   <integer>15</integer> ... 開始する分
-- ここまで

# vi com.apple.periodic-weekly.plist ... 週一の定期サービスの時間変更

-- 18 行目以降を黄色部分のように変更する。
   <key>Hour</key>
   <integer>13</integer> ... 開始する時間
   <key>Minute</key>
   <integer>30</integer> ... 開始する分
   <key>Weekday</key>
   <integer>6</integer> ... 開始する曜日
-- ここまで

# vi com.apple.periodic-monthly.plist ... 月一の定期サービスの時間変更

-- 18 行目以降を黄色部分のように変更する。
   <key>Hour</key>
   <integer>14</integer> ... 開始する時間
   <key>Minute</key>
   <integer>30</integer> ... 開始する分
   <key>Day</key>
   <integer>1</integer> ... 開始する日

設定が終わったら Mac を再起動することで変更完了。

時間は 24 時間制で記述する。上記の例では、

  • 日々行われるサービスは毎日 12:15 に実行される。
  • 週一で行われるサービスは毎週土曜日の 13:30 に実行される。
  • 月一で行われるサービスは毎月一日の 14:30 に実行される。

例えば週一のサービスを土曜日でなく月曜日にしたい場合は、weekly の設定行の 5 番目の要素を 6 から 1 に変える。(ちなみに日曜日にしたい場合は 0 または 7 を指定する。)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です