この記事では、cronが定期的にさまざまなアクションを実行するようにディレクトリとスクリプトを設定する方法について説明します。
この記事ではpico
を使用しています テキストエディタですが、vi
などの任意のテキストエディタを使用できます 、vim
またはnano
。
次のコマンドを使用して、cronが実行するシステムスクリプトとディレクトリを設定します。
[user@server ~]$ sudo mkdir /usr/local/sbin/continuous.active
[user@server ~]$ sudo mkdir /usr/local/sbin/continuous.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/hourly.active
[user@server ~]$ sudo mkdir /usr/local/sbin/hourly.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/daily.active
[user@server ~]$ sudo mkdir /usr/local/sbin/daily.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/weekly.active
[user@server ~]$ sudo mkdir /usr/local/sbin/weekly.inactive
次のコマンドを実行して、連続ジョブ用のスクリプトファイルを作成し、テキストエディタで開きます。
[user@server ~]$ sudo pico /usr/local/sbin/continuous.sh
次のスクリプトを挿入して、各コンテナーと、指定された間隔で内部に保持されているすべてのスクリプトを実行します。
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/continuous.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
次のコマンドを実行して、 Continuous.shを作成します スクリプト実行可能ファイル:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/continuous.sh
次のコマンドを実行して、1時間ごとのジョブのスクリプトファイルを作成し、テキストエディタで開きます。
[user@server ~]$ sudo pico /usr/local/sbin/hourly.sh
次のスクリプトを挿入して、各コンテナと1時間ごとに保持されるすべてのスクリプトを実行します。
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/hourly.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
次のコマンドを実行して、 hourly.shを作成します スクリプト実行可能ファイル:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/hourly.sh
次のコマンドを実行して、日常のジョブ用のスクリプトファイルを作成し、テキストエディタで開きます。
[user@server ~]$ sudo pico /usr/local/sbin/daily.sh
次のスクリプトを挿入して、各コンテナと毎日内部に保持されているすべてのスクリプトを実行します。
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/daily.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
次のコマンドを実行して、 daily.shを作成します スクリプト実行可能ファイル:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/daily.sh
次のコマンドを実行して、毎週のジョブ用のスクリプトファイルを作成し、テキストエディタで開きます。
[user@server ~]$ sudo pico /usr/local/sbin/weekly.sh
次のスクリプトを挿入して、各コンテナと毎週内部に保持されているすべてのスクリプトを実行します。
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/weekly.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
次のコマンドを実行して、 weekly.shを作成します スクリプト実行可能ファイル:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/weekly.sh
crontabファイルにスクリプトを追加する
crontabファイルには、指定された時間に実行されることを意図したコマンドのリストが含まれています。次のコマンドを使用して、crontabファイルを編集します。
[user@server ~]$ sudo crontab -e
crontabファイルの各行には、次の形式の5つの日付と時刻のフィールドがあります。
minute (0-59) hour (0-23) day (1-31) month (1-12) weekday (0-6)
時間単位ごとにスクリプトを数回実行する場合は、*/n
の形式を使用できます。 、ここでn
スクリプトを実行する回数です。
次のエントリをcrontabファイルに追加します。
MAILTO= [email protected]
*/5 * * * * /usr/local/sbin/continuous.sh
6 */1 * * * /usr/local/sbin/hourly.sh
16 02 * * * /usr/local/sbin/daily.sh
26 03 * * 0 /usr/local/sbin/weekly.sh
コメントや質問をするには、[フィードバック]タブを使用します。 [私たちと会話を始める](https://www.rackspace.com/contact)こともできます。