プロが教えるわが家の防犯対策術!

Fedora11「crontab -l」が「コマンドが見つかりません」になる。

(Q1)
Fedora11で、cron を利用したく動作テストしています。
crontab は、/etc内にあります。
[root@betasei etc]# ls -l crontab*
-rwxrwxrwx. 1 root root 420 2011-05-18 10:36 crontab

テスト用スクリプトです。
[root@betasei etc]# cat test.sh
echo xxxxxxxx

gedit crontab で次のように編集しました。
[root@betasei etc]# cat crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin/:/etc/
MAILTO=root
HOME=/
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR
#sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
1 1 * * * /etc/test.sh

設定確認すると、次のようにエラーになります。
[root@betasei etc]# ./crontab -l
./crontab: line 13: 1: コマンドが見つかりません
[root@betasei etc]#

1 1 * * * /etc/test.sh
ここのところを
./test.sh
にしてみたりしてもダメです。
どうしたらよいのでしょうか。

(Q2)
ところで、crontabの編集は、ターミナルやろうとして、
crontab -e
と実行すると、viか何かの空白編集画面が出ます。
上記 gedit crontab の画面のように初期値が出ません。
gedit crontabで編集してもよいのですね。

(Q3)
/etc/crontab は、テキストファイルですね。
でも、このcrontabは実行ファイルですね。
./crontab -l
どうなってるですか。

初歩的な質問ですみません。

A 回答 (2件)

[技術者向] コンピューター > OS > Linux系OS


というカテゴリがありますが……

>[root@betasei etc]# ./crontab -l
>./crontab: line 13: 1: コマンドが見つかりません

13行目に1というコマンドが見つかりません。
と言っています。

>1 1 * * * /etc/test.sh
>ここのところを
>./test.sh
>にしてみたりしてもダメです。
>どうしたらよいのでしょうか。

ちなみに /etc/crontab は設定ファイルなので普通は実行属性は付けません。
よって、上記の編集には意味がありません。
# というかcrondが書式エラー吐きませんか?
さらに、
crontabコマンドの対象は/etc/crontabのファイルではないハズです。
# /var/spool/cron/下辺りにユーザー毎のファイルが作成されます。
# ディストリビューションによってディレクトリは違うかもしれませんが。
なお、crontabコマンドの実行時に
./crontab
とすると…カレントディレクトリにcrontabコマンドがない限りエラーになりますが…
# /etc/crontabは実行ファイルではない…ということをお忘れ無く。


>上記 gedit crontab の画面のように初期値が出ません。
>gedit crontabで編集してもよいのですね。

crontab -e
で作成されるのは「個人用」。
/etc/crontabに設定されるのは「システム用」です。
# /etc/crontabだと、後述するコマンドを実行するユーザーを指定するようになっている…かと。
# バージョンに依存するかもしれませんが。
# man 5 crontabで確認を。

>/etc/crontab は、テキストファイルですね。
>でも、このcrontabは実行ファイルですね。

crontabという実行ファイルがあります。
which crontab
を実行してみて下さい。
# こっちのマニュアルは man 1 crontab

この回答への補足

さっそくありがどうございます。

>[技術者向] コンピューター > OS > Linux系OS
>というカテゴリがありますが……
気が付かなかったです。

いろいろ知らないことばかりでした。
明日研究しまして、それでも分からなかったら、上記カテゴリーに移動して、改めて質問させていただきます。

補足日時:2011/05/18 17:51
    • good
    • 0
この回答へのお礼

crontab -e これでできました。
設定ファイルは、/var/spool/cron/root のように格納されてました。
実行ファイルは、/usr/bin/crontab でした。

次回からカテゴリーちゃんとします。
ありがとうございました。

お礼日時:2011/05/19 08:19

Fedoraのマシンが手元にないのですけど、crontabの実行ファイルは/usr/sbinか/usr/binあたりにあるんじゃないかと



pathを指定しないで実行されるのはこちらのほう

> [root@betasei etc]# ./crontab -l
> ./crontab: line 13: 1: コマンドが見つかりません

テキストファイルを実行しようとしても無理なので当たり前

> crontab -e
> と実行すると、viか何かの空白編集画面が出ます。

ここで、
1 1 * * * /etc/test.sh
と記載して終了すれば、test.shが毎日1時1分に実行されるようになります

> /etc/crontab は、テキストファイルですね。

そうですね

> でも、このcrontabは実行ファイルですね。

/usr/sbin/crontab(もしくは/usr/bin/crontab)は実行ファイル
ls -lしてみればわかる
    • good
    • 0
この回答へのお礼

その通りですね。
ありがとうございました。

お礼日時:2011/05/19 08:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!