この文書では、Red Hat Enterprise Linux(RHEL)6でcronジョブを設定する方法について説明します。
cronジョブを使用すると、システム管理者はタスクをスケジュールすることができます。これらのスケジュール設定されたタスクを設定するには、さまざまな方法があります。この文書では、「cron」ディレクトリーと「crontab」を使用する方法について説明します。
目次:
1.cronディレクトリー
2.crontab
1.cronディレクトリー
- cronディレクトリーには次の4つがあります。
- /etc/cron.hourly/
- /etc/cron.daily/
- /etc/cron.weekly/
- /etc/cron.monthly/
- これらのディレクトリーのスクリプトは定期的に実行されます(1時間ごと、毎日、毎週、毎月)
- 特定の日や特定の時間帯に実行する必要がないタスクのスケジュール設定に最適です
- スクリプトを対応するフォルダーにコピーします
- スクリプトに「755」または「-rwxr-xr-x」のファイル権限があることを確認します
- # chmod 755 scriptfile.sh
- Default :
- /etc/cron.daily starts at 0305(午前3:05)
- /etc/cron.weekly starts at 0325(午前3:25)
- /etc/cron.monthly starts at 0345(午前3:45)
- 現在の構成を表示します:
- # cat /etc/anacrontab
- お気に入りのエディターを使用して、「/etc/anacrontab」を編集します
- 構成を変更します:
- これらのディレクトリーでは、スクリプトを実行する時間を指定します:
2.crontab
- crontabを使用すると、システム管理者は、特定の日時に実行するタスクをスケジュール設定するcronジョブを作成できます
- crontabの使用方法は、「vi」エディターを使用する場合と同じです
- 使い方:
- cronジョブを編集します:
- 現在ログインしているユーザーのcronジョブを一覧表示します:
- # crontab -l
- # crontab -l -u username
注:「username」を対応するユーザーに置き換えます。
- # crontab -r
- # crontab -r -u username
注:「username」を対応するユーザーに置き換えます。
- 別のユーザーのcronジョブをリストします:
- 現在ログインしているユーザーのcronジョブを削除します:
- 別のユーザーのcronジョブを削除します:
- M H D Mo W /path/to/script
- M = 分(00~59)
- H = 時間(00~23)
- D = 日(月の)(01~31)
- Mo = 月(01~12)
- W = 曜日(0~6、0 = 日曜日)
- 「*」を使用して、毎時間、毎日などを意味します。
- 例:
- 30 02 15 6 * /root/scriptfile.sh
- 6月15日の午前2:30に「/root/scriptfile.sh」を実行します
- 30 02 * * 0 /root/scriptfile.sh
- 毎週日曜日の午前2:30に「/root/scriptfile.sh」を実行します
- 例:
- 30 02,14 15 6 * /root/scriptfile.sh
- 6月15日の午前2:30と午後2:30に「/root/scriptfile.sh」を実行します
- 例:
- 30 02-05 * * 0 /root/scriptfile.sh
- 毎週日曜日の午前2:30、午前3:30、午前4:30、午前5:30に「/root/scriptfile.sh」を実行します
- @yearly:毎年スクリプトを実行する
- @monthly:毎月スクリプトを実行する
- @weekly:毎週スクリプトを実行する
- @daily:毎日スクリプトを実行する
- @hourly:1時間ごとにスクリプトを実行する
- @reboot::再起動のたびにスクリプトを実行する
- M H D Mo W形式ではなく、これらの変数を使用します
- 例:
- @monthly /root/scriptfile.sh
- 毎月1日に「/root/scriptfile.sh」を実行します
- 例:
- 複数の時間や日を指定するには「,」を使用します。
- 時間や日の範囲を指定するには「-」を使用します。
- その他の変数:
- エントリーのフォーマット:
トップに戻る