はじめに
Linuxでは、定期的なタスクや一度だけ実行するタスクをスケジューリングすることができます。ここでは、crontab
と at
の基本的な使い方を紹介します。
コマンド説明
crontab
- 定期的なタスクのスケジューリング
crontab
コマンドは、ユーザーごとに定期的なタスクをスケジューリングするために使用されます。cron
は、システム上の定期的なタスクを管理するデーモンです。
主な書式
分(0-59)
時(0-23)
日(1-31)
月(1-12)
曜日(0-7、0と7は日曜日)
# 例
crontab -e
# 毎日午前3時にバックアップを実行:
0 3 * * * /path/to/backup.sh
# 毎週月曜日の午前6時にレポートを生成:
0 6 * * 1 /path/to/report.sh
at
- 一度だけ実行するタスクのスケジューリング
at
コマンドは、指定した時間に一度だけ実行するタスクをスケジューリングします。at デーモンは、スケジュールされたタスクを適切な時間に実行します。
主なオプション
-f : コマンドを記述したファイルを指定
-m : タスクの完了後にメール通知を送信
# 例
at [オプション] 時間
# 1時間後にスクリプトを実行:
echo "/path/to/script.sh" | at now + 1 hour
# 特定の日時にコマンドを実行:
echo "ls -l /var/log" | at 10:00 AM 12/31/2023
応用例
# 毎月1日にシステムメンテナンスを実行
# この設定は、毎月1日の午前0時に maintenance.sh を実行します。
0 0 1 * * /path/to/maintenance.sh
# 特定のファイルを午後2時30分に一度だけ削除
echo "rm /path/to/file" | at 2:30 PM
# 毎日午前1時にログファイルをクリーンアップ
0 1 * * * /path/to/cleanup.sh
# 1週間後にリブートをスケジュール
echo "sudo reboot" | at now + 1 week
おわりに
これらのコマンドを使うことで、タスクのスケジューリングが効率的に行えます。
次の記事では、シェルスクリプトについて説明します。
一覧