はじめに
システム管理者にとって、タスクの自動化は核心となる責任の一つです。at と cron ユーティリティは、Linux でタスクをスケジュールするための基本的なツールです。このチャレンジでは、at を使用して単発のジョブをスケジュールし、cron を使用して定期的なジョブをスケジュールする練習を行います。
at による単発タスクのスケジュール
at コマンドは、将来の特定の時間に一度だけ実行されるコマンドをスケジュールするために使用されます。
課題
atコマンドを使用して、1 分後に実行されるタスクをスケジュールしてください。- タスクによって指定された内容のファイルが作成されることを確認してください。
要件
- 今から 1 分後に実行されるようにタスクをスケジュールすること。
- タスクは
echo "This is a scheduled task" > /home/labex/project/scheduled_task.txtというコマンドを実行すること。 - タスクの実行後、
/home/labex/project/scheduled_task.txtファイルが存在し、This is a scheduled taskというテキストが含まれていること。
例
タスク実行後、/home/labex/project/scheduled_task.txt の内容は以下のようになります。
This is a scheduled task
ヒント
- タスクをスケジュールするには、時間の指定に
now + 1 minuteを使用します。 atコマンドを入力すると、専用のプロンプトが表示されます。そこで実行したいコマンドを入力し、Enter キーを押します。- ジョブを保存して
atプロンプトを終了するには、Ctrl+Dを押します。
cron による定期タスクのスケジュール
cron デーモンは、スケジュールされたコマンドを定期的な間隔で実行するために使用されます。crontab コマンドを使用して、スケジュールされたタスクを管理できます。
課題
- 1 分ごとにコマンドを実行する cron ジョブを作成してください。
- cron ジョブによってログファイルが作成され、更新されることを確認してください。
要件
crontab -eコマンドを使用して、現在のユーザーの crontab を編集すること。echo "This is a recurring task" >> /home/labex/project/recurring_task.logというコマンドを実行する cron ジョブを追加すること。- ジョブは、毎日、毎時、毎分実行されるように設定すること。
/home/labex/project/recurring_task.logファイルが作成され、1 分ごとに新しいテキストが追記されること。
例
cron ジョブが数分間実行された後、/home/labex/project/recurring_task.log の内容は以下のようになります。
This is a recurring task
This is a recurring task
This is a recurring task
ヒント
crontab -eコマンドを実行すると、テキストエディタ(通常はvi)で crontab ファイルが開きます。- 1 分ごとに実行される cron ジョブの形式は
* * * * * 実行するコマンドです。 - エディタが
viの場合、iを押して挿入モードに入り、行を入力します。Escを押して挿入モードを抜け、:wqと入力して Enter を押すと、保存して終了します。
まとめ
このチャレンジでは、Linux システムでタスクを自動化する方法を学びました。at コマンドを使用して将来実行される単発ジョブをスケジュールし、crontab を編集して cron による定期的なタスクを設定する練習を行いました。これらは、日常的なメンテナンスやその他の自動化プロセスを管理するために、システム管理者にとって不可欠なスキルです。



