Ubuntuでのcronを使用した予定タスクの設定方法

Ubuntuには、指定した時間や日付に自動的に実行されるようにタスクをスケジュールすることができる組み込みのスケジュールツールであるcronがあります。以下は、Ubuntuでcronジョブを設定する手順です。

ターミナルを開く:Ctrl+Alt+Tを押すか、「ターミナル」をUbuntuランチャーで検索します。

cronサービスの状態を確認する:ターミナルで以下のコマンドを実行して、cronサービスが実行されているかどうかを確認します。

sudo service cron status

cronをインストールまたは更新する:cronをインストールしていない場合は、以下のコマンドを使用してインストールし、更新が必要な場合は更新してください。

sudo apt-get install cron

crontabを編集する:cronをインストールしたら、crontabファイルを編集してスケジュールする必要があるタスクを指定できます。以下のコマンドを使用してcrontabファイルを編集します。

1
crontab -e

これにより、デフォルトのテキストエディターでcrontabファイルが開かれます。cronジョブを指定する構文は以下のとおりです。

1
2
3
4
5
6
7
8
* * * * * /path/to/command
- - - - -
| | | | |
| | | | ----- 曜日 (0 - 7) (日曜日は0と7の両方)
| | | ------- 月 (1 - 12)
| | --------- 日 (1 - 31)
| ----------- 時 (0 - 23)
------------- 分 (0 - 59)

cronジョブを追加する:crontabファイルを開いたら、新しい行を追加してタスクをスケジュールすることができます。たとえば、myscript.shという名前のスクリプトを毎日、午前10時30分に実行する場合、以下の行を追加します。

1
30 10 * * * /path/to/myscript.sh

ここで、30は分を、10は時を指定し、* * *は毎月の毎日実行することを指定しています。

保存して終了する:不要ならば、cronジョブを追加したら、crontabファイルを保存して終了します。

出力を確認する:スケジュールされたタスクの出力をチェックするには、出力をログファイルにリダイレクトできます。たとえば、ステップ5のcronジョブを以下のように変更できます。

1
30 10 * * * /path/to/myscript.sh >> /path/to/logfile.log 2>&1

ここで、 >> は出力をログファイルに追記し、2>&1はエラーメッセージを同じログファイルにリダイレクトするものです。

以上で、Ubuntuでcronジョブを設定してタスクをスケジュールすることができました。 cronを使用して、バックアップ、システムアップデート、スクリプトの実行など、多くの繰り返しタスクを自動化できます。