atコマンド:指定した時刻にコマンドを実行する究極の便利ツール

Linuxを使い始めると、「特定の時間に特定の作業を自動化したい」という場面が多々あります。そんなときに欠かせないのが、今回ご紹介するatコマンドです。atコマンドは、指定した時刻に一度だけコマンドを実行するというシンプルながら非常に強力なツールです。

この記事では、Linux初心者や中級者向けにatコマンドの基本的な使い方から、見逃せない主要オプション、さらには実践的な応用例までを徹底解説します。これを読めば、Linux操作の幅が大きく広がること間違いなし!ぜひ最後までお読みください。


atコマンドとは?

atコマンドは、Linuxで特定の時刻に1回だけコマンドを実行するための便利ツールです。たとえば、「30分後にファイルをバックアップしたい」「明日の朝にスクリプトを実行したい」といったニーズに応えることができます。

スケジューリングといえばcronを思い浮かべる方も多いかもしれません。cronは定期的なタスク実行に向いていますが、一度だけ実行する処理には少々煩雑な面があります。その点、atは一回限りのタスクに特化しており、とても手軽に使えるのが特徴です。

  • cronとの違い
  • cron:定期的に繰り返し実行するタスク向け。
  • at:一度だけ実行するタスク向け。

atコマンドの基本的な使い方

インストール確認

atコマンドは多くのLinuxディストリビューションでデフォルトインストールされていますが、環境によってはインストールされていない場合もあります。以下のコマンドでインストール状況を確認してください。

which at

もしインストールされていなければ、以下のコマンドでインストールしましょう。

  • Debian系(Ubuntuなど):
sudo apt update
sudo apt install at
  • Red Hat系(CentOS/RHELなど):
sudo yum install at
  • Arch系:
sudo pacman -S at

また、atコマンドを使用するには、atdatデーモン)が動作している必要があります。以下のコマンドでステータスを確認し、必要に応じて起動してください。

sudo systemctl status atd
sudo systemctl start atd

基本構文

atコマンドの基本的な書式は以下の通りです。

at [時間]

[時間]には、実行したい時刻を指定します。たとえば、「今から1時間後」「明日の午前9時」など、柔軟に指定可能です。


時刻の指定方法

atコマンドでは、以下のような形式で時刻を指定できます。

  1. 具体的な時刻を指定する場合
  • 24時間表記: HH:MM(例: 14:30
  • 12時間表記(AM/PMを指定): HH:MM AM/PM(例: 2:30 PM
   at 14:30
   at 2:30 PM
  1. 相対的な時刻を指定する場合
  • now + [時間/分/日]
    数値と単位(minutes, hours, daysなど)を指定します。
   at now + 1 hour
   at now + 30 minutes
  1. 日付を指定する場合
  • 日付を組み合わせて指定できます。
   at 9:00 AM tomorrow
   at 2:00 PM Jul 25

コマンドの登録と実行

指定した時刻に実行するコマンドを登録する手順は以下の通りです。

  1. atコマンドを実行し、時刻を指定します。
  2. 実行したいコマンドを入力します。
  3. 登録を完了するには、Ctrl+Dを押します。

例:

at 15:00
echo "バックアップを開始します" > /tmp/backup.log
<Ctrl+D>

この例では、午後3時にecho "バックアップを開始します" > /tmp/backup.logが実行されます。


atコマンドの主要なオプション

atコマンドには、タスクの管理を補助するための便利なオプションが揃っています。以下に代表的なものを紹介します。

1. atq:登録済みタスクの確認

atqコマンドを使うと、現在登録されているタスクを一覧表示できます。

atq

出力例:

1   Tue Jul 25 15:00:00 2023 a user
2   Wed Jul 26 09:00:00 2023 a user

2. atrm:タスクの削除

登録済みのタスクを削除するには、atrmコマンドを使用します。削除したいタスクのジョブ番号を指定してください。

atrm [ジョブ番号]

例:

atrm 1

3. -f:スクリプトファイルの利用

スクリプトファイルを指定して実行することも可能です。

at -f [スクリプトファイル名] [時間]

例:

at -f backup.sh now + 1 hour

atコマンドの応用例

1. 定期的なバックアップ(1回実施)

atコマンドを使って、指定時刻に重要なファイルをバックアップする例です。

echo "tar -czf /backup/home_$(date +%Y%m%d).tar.gz /home" | at midnight

このコマンドでは、深夜にホームディレクトリを圧縮してバックアップします。


2. リマインダーの設定

「明日の午前9時にリマインダーを表示する」タスクを設定します。

echo "notify-send '会議の準備をしてください!'" | at 9:00 AM tomorrow

3. サーバーメンテナンスのタスク

深夜にサーバーを再起動する場合の例です。

echo "sudo reboot" | at 2:00 AM

まとめ

この記事では、Linuxのatコマンドについて、基本的な使い方から主要オプション、そして応用例までを詳しく解説しました。atコマンドを使えば、特定の時刻に1回だけ実行するタスクを簡単に設定でき、日常的な作業の効率化や自動化が実現します。

シンプルで直感的な操作感が魅力のatコマンド。Linux初心者から中級者まで、この便利なツールをぜひ活用して、より快適なLinuxライフを送りましょう!

コメント

タイトルとURLをコピーしました