crontab ファイルの最も単純な作成方法は、crontab -e コマンドを使用して、EDITOR 環境変数によって定義されているテキストエディタを呼び出すものです。この変数を設定していない場合は、crontab はデフォルトのエディタ ed を使用します。EDITOR 環境変数に使い慣れたエディタを定義します。次の例は、エディタが定義されているかどうかを確認する方法と、vi をデフォルトとして設定する方法を示しています。
$ which $EDITOR $ $ EDITOR=vi $ export EDITOR |
crontab ファイルを作成すると、自動的に /var/spool/cron/crontabs ディレクトリ内に格納され、作成者のユーザー名が命名されます。スーパーユーザー特権があれば、他のユーザーや root の crontab ファイルを作成または編集できます。
crontab コマンドエントリは、「crontab ファイルエントリの構文」の説明に従って入力してください。
(省略可能) root または他のユーザーが所有する crontab ファイルを作成または編集する場合は、スーパーユーザーになります。
次のように入力して、新しい crontab ファイルを作成するか、既存の crontab ファイルを編集します。
$ crontab -e [username] |
username |
他のユーザーのアカウント名。作成または編集するにはスーパーユーザーの権限が必要 |
誤ってオプションを指定しないで crontab コマンドを入力した場合は、使用しているエディタの割り込みキーを押してください。割り込みキーを押すと、変更結果を保存しないでエディタを終了できます。この時点でファイルの編集を終了して変更結果を保存すると、既存の crontab ファイルが空のファイルで上書きされてしまいます。
「crontab ファイルエントリの構文」で説明している構文に従って、コマンド行を crontab ファイルに追加します。
crontab ファイルは /var/spool/cron/crontabs に格納されます。
crontab -l コマンドを使用して、crontab ファイルを確認します。
# crontab -l [username] |
次の例は、他のユーザーのための crontab ファイルをどのように作成するかを示します。
# crontab -e jones |
新しい crontab ファイルに次のコマンドエントリを追加すると、毎日曜日の午前 1 時に、ユーザー jones のホームディレクトリから、すべてのログファイルが自動的に削除されます。このコマンドエントリは出力先を変更しないので、出力先変更文字がコマンド行の *.log の後に追加されて、そのコマンドが正しく実行されるようにしています。
# This command helps clean up user accounts. 1 0 * * 0 rm /home/jones/*.log > /dev/null 2>&1 |
特定のユーザーの crontab ファイルがあるかどうかを確認するには、/var/spool/cron/crontabs ディレクトリで ls -l コマンドを使用します。たとえば、次の表示はユーザー smith と jones の crontab ファイルがあることを示しています。
$ ls -l /var/spool/cron/crontabs -rw-r--r-- 1 root sys 190 Feb 26 16:23 adm -rw------- 1 root staff 225 Mar 1 9:19 jones -rw-r--r-- 1 root root 1063 Feb 26 16:23 lp -rw-r--r-- 1 root sys 441 Feb 26 16:25 root -rw------- 1 root staff 60 Mar 1 9:15 smith -rw-r--r-- 1 root sys 308 Feb 26 16:23 sys |
ユーザーの crontab ファイルの内容を確認するには、crontab -l を使用します。「crontab ファイルを表示する方法」を参照してください。