ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1M: システム管理コマンド Oracle Solaris 11 Information Library (日本語) |
- クロックデーモン
/usr/sbin/cron
cron は、指定された日時にコマンドを実行するプロセスを開始します。
/var/spool/cron/crontabs ディレクトリの crontab ファイルにある指示に従って、定期的にスケジュールされたコマンドを cron に指定できます。crontab(1) コマンドを使用すると、ユーザー固有の crontab ファイルを生成できます。一度だけ実行するコマンドは、at(1) コマンドを使用して投入できます。
cron は、それ自体のプロセス初期化フェーズの際、および crontab または at コマンドが実行されるときにのみ、crontab または at コマンドファイルを検査します。これにより、定期的にスケジュールされた間隔で新しいファイルまたは変更されたファイルをチェックするオーバーヘッドが減少します。
cron は終了することがないため、一度だけ実行してください。これは、通常の手順では svc:/system/cron:default サービスによって実行されているものです。複数の cron インスタンスが実行されないように、ロックファイルとして /etc/cron.d/FIFO ファイルが使用されます。
cron は、ジョブの stdout および stderr ストリームの出力を取得し、空でない場合は、出力をユーザーにメールで送信します。ジョブが出力を生成しなかった場合、ユーザーにメールは送信されません。例外は、ジョブが at(1) ジョブで、ジョブが実行されたときに -m オプションが指定された場合です。
ユーザーのアカウントがロックされていると、cron ジョブおよび at ジョブは実行されません。ジョブとプロセスは実行されます。shadow(4) ファイルにはロックされていないアカウントが定義されており、それらのアカウントのジョブとプロセスは実行されます。
cron デーモンのタイムゾーンは、cron エントリのシステム全体のタイムゾーンとして設定されます。また、さらに /etc/default/init を使用してシステム全体のデフォルトタイムゾーンとして設定されます。cron エントリのタイムゾーンはユーザーの crontab ファイルで上書きできます。crontab(1) を参照してください。
夏時間や冬時間などが有効になっている場合には、切り替え期間に予定されているジョブは、1 回だけ実行されたり、2 回実行されたり、またはまったく実行されないこともあります。
cron によって実行されるすべての操作のログを保存するには、/etc/default/cron ファイルで CRONLOG=YES を指定する必要があります。CRONLOG=NO を指定すると、ログの記録は行われません。通常、cron は非常に大きなログファイルを作成するため、ログの保存はユーザーが構成可能なオプションとなっています。
ユーザーの cron ジョブの PATH を設定するには、/etc/default/cron に PATH= を指定します。root ユーザーの cron ジョブの PATH を設定するには、/etc/default/cron に SUPATH = を指定します。PATH および SUPATH を設定した場合のセキュリティーへの影響を十分に考慮してください。
/etc/default/cron ファイルの例
CRONLOG=YES PATH=/usr/bin:/usr/ucb:
この例のファイルは、ログの記録を有効にし、root ユーザー以外のジョブによって使用されるデフォルトの PATH を /usr/bin:/usr/ucb: に設定します。root ユーザーのジョブは、引き続き /usr/sbin:/usr/bin を使用します。
cron のログファイルは、logadm(1M) によって定期的にローテーションされます。
主 cron ディレクトリ
ロックファイル
cron のデフォルト設定ファイル
cron の履歴情報
スプール領域
at、batch、および cron の待ち行列記述ファイル
logadm の構成ファイル
属性についての詳細は、attributes(5) を参照してください。
|
svcs(1), at(1), crontab(1), sh(1), logadm(1M), svcadm(1M), queuedefs(4), shadow(4), attributes(5), rbac(5), smf(5), smf_security(5)
cron サービスは、サービス管理機能 smf(5) によって、次のサービス識別子として管理されます。
svc:/system/cron:default
有効化、無効化、または再起動要求など、このサービスに関する管理操作は、svcadm(1M) を使用して実行できます。サービスのステータスを照会するには、svcs(1) コマンドを使用します。ほとんどの管理操作は、solaris.smf.manage.cron 承認を持つユーザーに委任できます (rbac(5) および smf_security(5) を参照)。
cron によって行われたすべての操作の履歴は、/var/cron/log および場合によっては /var/cron/olog に格納されます。