crontabの使用方法
動作確認OSは、Solaris 9である。
- デーモンであるcronジョブは、crontabファイルの記述に基づき、定期的にコマンドを実行する。
- ユーザが自分用のcrontabファイルを編集するには、crontabコマンドを使用しなければならない。
- crontabコマンドは、基本的に対象ユーザにloginしてから、実行すること。
- スーパーユーザで編集を実行すると、その動作は保証されない。
crontabファイル
- じかに編集すると、crontabファイルの変更が cronデーモンに通知されないので、編集には、crontabコマンドを使用すること。
- /var/spool/cron/crontabsディレクトリ上に、システムcrontabと、ユーザcrontabがある。
- ファイルの名前は、所有者のアカウント名と同じ。
crontabのオプションの指定方法
crontab -l ユーザのcrontabファイルの内容が表示される。 crontab -e シェル環境変数のEDITORに設定されたエディタで、crontabファイルが開く。 EDITORが未設定の場合は、edエディタが使われる。 crontab 標準入力から読み取り。Ctrl+Dで実行を終了する。 ユーザのcrontabファイルは上書きされる。 crontab -r ユーザのcrontabファイルが削除される。 編集によってcrontabファイルの行を全て削除しようとすると、エラーとなる。 crontabの中身をすべて削除したいときは、このオプションを使用すること。
crontabエントリのフィールド
使わないフィールドには、プレースホルダーとして、* を指定すること。分 0-59 時 0-23 日 1-31 月 1-12 曜日 0-6 コマンド コマンド文字列
一定期間アクセスがないファイルを、定期的に削除する方法
対象ディレクトリがリンクでない場合
例) 毎日3時0分に、3日間アクセスがないファイルを削除 0 3 * * * rm `find [上位パス]/temp -atime +3`
対象ディレクトリがリンクの場合
tempが他のディレクトリへのリンクの場合は「temp/*」と指定すること。「temp」と指定すると、tempディレクトリそのものを削除してしまう。例) 毎日4時0分に、3日間アクセスがないファイルを削除 0 4 * * * rm `find [上位パス]/temp/* -atime +3`