at と Cron を使用したタスクのスケジュール管理

Red Hat Enterprise LinuxBeginner
オンラインで実践に進む

はじめに

システム管理者にとって、タスクの自動化は核心となる責任の一つです。atcron ユーティリティは、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 による定期的なタスクを設定する練習を行いました。これらは、日常的なメンテナンスやその他の自動化プロセスを管理するために、システム管理者にとって不可欠なスキルです。

✨ 解答を確認して練習✨ 解答を確認して練習