「Linux」でコマンドを実行する時刻を指定--「at」コマンドを使用するには
「Linux」は多くの機能を隠し持っている。Linuxが地球上で最も強力かつ柔軟なOSの1つであるのは、そのためだ。 その一例として、コマンドの実行時刻を指定する機能を見てみよう。何かを印刷する必要があるが、誰かが午前中ずっとプリンターを使っていて、終わる気配がないとしよう。対象のファイルを必ず印刷しなければならないが、自分の記憶力に自信がない。こういうときは、ファイルを印刷する時刻を指定して、プリンターを確実に使用できるときに印刷が実行されるようにする絶好の機会だ。 どうすれば実行時刻を指定できるのだろうか。「at」を使用するといい。 atコマンドとはどんなものなのか atコマンドを使用すると、コマンドやスクリプトの単一のインスタンスを特定の日時に実行するように指定できる。このコマンドは、Linuxディストリビューションに標準でインストールされているはずだ。 基本的に、atは以下のような形式で実行される。 at [OPTION(s)] execution_time OPTION(s)はこのコマンドに追加できるさまざまなオプション、execution_timeはコマンドを実行する時刻/日付だ。 atを使用すると、特定の時刻、現在の時刻から数分後または数時間後、特定の日付/時刻、今日から数日後など、コマンドを実行するタイミングを指定することができる。非常に柔軟だ。 特定の時刻にコンピューターをシャットダウンするように指定することもできる。夜にPCをシャットダウンしたいが、よく忘れてしまう、という人に最適だ。 atの使い方 特定の時刻にファイルを印刷する先ほどの例をここでも使いたいと思う。まず、コマンドラインから印刷を実行するときは、「lp」コマンドを使用する。マシンに接続されているプリンターが1台しかない場合は、どのプリンターを使用するかをlpに指示する必要はない。lpコマンドに加えて、「echo」コマンドとパイプも使用する必要がある。複雑に聞こえるが、そんなことはない。手順は以下の通りだ。 1. ターミナルウィンドウを開く 最初に、Linuxディストリビューションでターミナルウィンドウを開く必要がある。その後、以下のコマンドを使用して、atがインストールされていることを確認する: at -V 以下のような出力が表示されるはずだ。 at version 3.2.5 Please report bugs to the Debian bug tracking system (http://bugs.debian.org/) or contact the maintainers (at@packages.debian.org). (at バージョン3.2.5 バグについては、Debianバグ追跡システム(http://bugs.debian.org/)に報告するか、 メンテナー(at@packages.debian.org)に連絡してほしい。) 2. コマンドの最初の部分を作成する 先に説明したように、atコマンドの構文は「at [OPTION(s)] execution_time」という形式になる。これはatコマンド自体の構造であり、atで実行するコマンドは含まれていない。 混乱している人もいるかもしれないが、実際には難しいことではない。echoコマンドを使用して、atで実行したいタスクを記述する必要がある。今回の例では、lpコマンドを使用して、zdnet.txtファイルを印刷する。具体的には、以下のコマンドを使う。 echo "lp zdnet.txt"