• ベストアンサー
  • 困ってます

Fedora11 crontab 設定エラー

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 どうなってるですか。 初歩的な質問ですみません。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数561
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • Wr5
  • ベストアンサー率53% (2177/4070)

[技術者向] コンピューター > 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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

crontab -e これでできました。 設定ファイルは、/var/spool/cron/root のように格納されてました。 実行ファイルは、/usr/bin/crontab でした。 次回からカテゴリーちゃんとします。 ありがとうございました。

質問者からの補足

さっそくありがどうございます。 >[技術者向] コンピューター > OS > Linux系OS >というカテゴリがありますが…… 気が付かなかったです。 いろいろ知らないことばかりでした。 明日研究しまして、それでも分からなかったら、上記カテゴリーに移動して、改めて質問させていただきます。

関連するQ&A

  • fedora11でのcron設定

    fedora11,apache,php5の環境でcronを使いたいのですが、動きません。。 状況が、 fedora11 php5 apache を使用していて、cronを使ってphpの定期実行を行いたいのですが、どうしてもうまくいきません。 かなりググってはみたのですが、liuxについては初心者なので、どうにもわかりません。 設定内容が、 /etc/crontabが、 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ * /1 * * * * apache /usr/bin/php /var/www/html/cron.php で、/var/log/cron でログを確認したところ Jul 28 19:00:01 host CROND[8417]: (apache) CMD (/usr/bin/php /var/www/html/cron.php) となっていてこれが一分ごとに出てきます。 cron.phpにはファイル追記の処理を書いてあります。 エラーではないようなのですが、ファイル操作が行われていないようなので動いていないようなのです。 ローカルホストでphpを実行したらちゃんと動くのでphp内のミスではないようです。 パーミッション関係だったらログにエラーが出そうなものですし、、、。困っています。。 どなたかお知恵を貸していただけませんでしょうか、よろしくお願いします。

  • fedoraのcrontabについて

    linux初心者です。 今、fedora16で「新Linux/UNIX入門」という本を使って、Linuxを勉強しています。 crontabについて一つわからないことがあります。 本では/etc/crontabに 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly の記述があると書かれてありますが、自分のパソコンで$ cat /etc/crontabを実行してみると SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- 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 # | | | | | # * * * * * user-name command to be executed となり、記述されているはずのものがありません。 ここではなく、/var/spool/cron/rootの方に記述されているかと思って、その中も見てみたのですが、記述されていそうにありません。 どこにこれは記述されているのでしょうか? いろいろといじくっているうちに、誤って自分で消してしまったのでしょうか? どなたかご回答よろしくお願い致します。

  • crontabの設定ができない(編集画面が出ない)

    CentOS5.2を使っています。 crontabの設定を行おうと、 # chkconfig --list crond crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off で確認後、$ crontab -e  としましたが、 no crontab for aaabbb - using an empty one と出て、編集ファイルが表示されません。 $ crontab -l  とすると no crontab for aaabbb と出、 # crontab -l  も    no crontab for root  となります。   念のため # chmod 777 /etc/crontab としてみましたが、結果は同じです。 $ less /etc/crontab でファイルを開くと ------------------------ SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly /etc/crontab (END) ---------------------- となっています。 Webで設定例を検索すると、no crontab for aaabbb - using an empty one の下に crontab: installing new crontab と出ると記載されているのですが、 私の場合、このような表示や動きは出ませんが、どのようにして crontab を設定していくのでしょうか。どうか宜しくお願いします。

その他の回答 (1)

  • 回答No.2

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してみればわかる

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • crontabの自動実行について (Debian3.0)

    OSはDebian GNU/Linux 3.0です。 /etc/cron.daily の中にviで記述した下記のものを 保存しました。ファイル名back.sh #!/bin/sh rsync -acouv --stats /home/www /backup/back-all ;; しかし、自動実行できていませんでした。 www、back-all共に実在するディレクトリです。 crontabは下記のとおり、初期のままです。 SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 25 6 * * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily 47 6 * * 7 root test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly 52 6 1 * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly # 何か間違いがあるのでしょうか?

  • crontabで設定した内容が起動しません

    RedHat8.0です。 あるユーザで、 [/etc]$ crontab -e を実行し、 --------------------------------------- SHELL=/bin/csh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/bat HOME=/home/user # 0 0-23 * * 1-5 /bat/sync.csh p1 p2 p3 ---------------------------------------  : のような設定をしているのですが、 毎時00分の実行が行われません。 試しに、 0-59/1 0-23 * * 1-5 /bat/sync.csh p1 p2 p3 のように書いて、しばらく様子をみていましたが、 毎分ごとの起動もされませんでした。 「crontab: installing new crontab」のメッセージも返って来ています。 /bat/sync.csh には、実行権はついており、 単独で走らせると $ /bat/sync.csh p1 p2 p3 : 動作します。 (p1, p2, p3 は引数を表現しています) 更に、 [/etc]$ ps -aux : root 489 0.0 0.0 1520 644 ? S Jan28 0:00 crond : root 21138 0.0 0.0 1520 672 ? S 23:20 0:00 CROND   : などになっています。 何か、他の設定が必要なのでしょうか。 よろしくお願いします。

  • cronの実行結果通知メールの配信をさせないようにするには?

    RedHat9を使用してます。 # cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ : # crontab -l | more # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.12227 installed on Thu Feb 3 02:58:29 2005) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) # crontab -e SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ : としていて、 記述が増えるに従ってcron実行済みの通知メール数が多くなってきましたので 配信させないように双方とも MAILTO="" してみたのですが相変わらず届いてしまいます。 相変わらずローカルのrootが送信しているようです。 どうすれば配信させないようにできるのでしょうか?

  • crontabの設定について

    某サイトを参考にIPアドレスの自動アップデート スクリプトを作成しました。 OSはCentOS6.2です。 その後、crontab -e を実行(中は空で何も記入されていませんでした)しました。 本来vi /etc/crontab で編集するのかなと思ったのですが、以前使用していたvinelinuxのcrontabと表示形式が違っていたので、何も書き込んでいません。 crontab -e 実行後、下記内容を貼り付け保存しました。MAIL TO は空欄たったのですが、スクリプトが正常に実行されているかメールで受信したいため、下記設定をしました。すると確かにメールは10間隔で届くのですが、内容は下記エラーです。 エラー内容 /bin/bash: root: command not found crontab 設定内容 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO={ローカルドメイン内のメールアドレス記載} HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly # DDNS */10 * * * * root perl /usr/ddns/ipchk.pl 00 5 * * 0 root rm -f /usr/ddns/CRT_IP.dat スクリプトの内容は下記のとおりです。スクリプトの中にwgetコマンドがあるのですが、centos6.2ではwgetが最初から入っていました。念のためyum -y install wget を実行したところすでにインストール済みの表示が出ました。(command not found と言うエラーからwgetが実行されないのかな、と勝手に思った次第です) #!/usr/local/bin/perl (which perl 実行結果 /usr/local/bin/perl と表示がでたのでそれに従いました) # $CRT_IPF = '/usr/ddns/CRT_IP.dat'; $NEW_IPF = '/usr/ddns/NEW_IP.dat'; $LOG = '/var/log/ddns.log'; open INPUT,"$CRT_IPF"; $CRT_IP=<INPUT>; close INPUT; system("/usr/local/bin/wget -q -O $NEW_IPF {ここには REMOTE_ADDR:の結果が取得できる登録済みDDNSのアドレス記入}"); open(INPUT,$NEW_IPF); $c = <INPUT>; $stp = index($c,"REMOTE_ADDR:")+12; $edp = length($c); $NEW_IP = substr($c,$stp,($edp-$stp)); close(INPUT); if ($NEW_IP ne "" and $CRT_IP ne $NEW_IP) { open (OUTPUT ,">$CRT_IPF"); print OUTPUT $NEW_IP; close OUTPUT; print "IP Address update: $CRT_IP to $NEW_IP\n"; system("/usr/bin/wget -q -O - '{DDNSのIP更新サイトのアドレス記載 &ドメイン&pw=パスワード}'"); $now_string = localtime; open (OUTPUT ,">>$LOG"); print OUTPUT "$now_string DDNS IP Address Updated. $CRT_IP to $NEW_IP\n"; close OUTPUT; } 何がいけないのでしょうか。よろしくお願いします。

  • /etc/crontabに記述してあるのに一部のスクリプトの実行結果が通知されない

    RedHat9を使用しています。 # cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 00,12,24,36,48 * * * * root run-parts /etc/cron/networkDown.cron 05 * * * * root run-parts /etc/cron/top_c.cron # ls -l /etc/cron/ drwxrwxr-x 2 root root 4096 1月 13 01:38 networkDown.cron/ drwxrwxr-x 2 root root 4096 11月 15 14:23 ntp.cron/ drwxrwxr-x 2 root root 4096 11月 26 14:24 top_c.cron/ # ls -l /etc/cron/networkDown.cron -rwxr-xr-x 1 root root 481 2月 28 2004 diskSpaceCheck.cron* -rwxr-xr-x 1 root root 2938 8月 5 15:33 networkDown.cron* -rwxr--r-- 1 root root 206 11月 30 23:56 popAccessCheck.cron* -rwxr--r-- 1 root root 543 1月 13 01:37 printSeverCheck.sh* となっていますが何故か/etc/cron/networkDown.cronディレクトリだけの実行結果がroot宛に通知されません。 /etc/cron/top_c.cronの実行結果はroot宛に通知されます。 # tail -f /var/log/cron には # crontab -l で表示される分のcronの処理結果しか吐かれないようです。 どうして、一部のディレクトリだけの実行結果が通知されないのでしょうか?

  • 勉強でfedora11にtrac(日本語)をインストールしようと思いサ

    勉強でfedora11にtrac(日本語)をインストールしようと思いサイトを参考にインストールを行っているのですがうまくいかずに投稿させていただきました。 実行したコマンド [root@***Trac-0.11.7.ja1]# python ./setup.py install running install error: invalid Python installation: unable to open /usr/lib/python2.6/config/Makefile (No such file or directory)になってインストールできません。 ファイルがないのかと思い確認しましたら、/usr/lib/python2.6配下のconfigファイルがありません・・・ 仕方がないのでアップデートを実行 [root@*** Trac-0.11.7.ja1]# yum update python これでいいですか? [y/N]y (1/2): python-2.6-12.fc11.i586.rpm (2/2): python-libs-2.6-12.fc11.i586.rpm /usr/lib/python2.6配下を確認。configファイルなし・・・・なぜないのでしょうか。。。 参考にしたサイト http://lightmaterial.blogspot.com/2007/04/trac_15.html http://d.hatena.ne.jp/kazf/20070401 http://d.hatena.ne.jp/solitary_shell/20070318/1174227697 OS fedora11 カーネル 2.6.29.4-167.fc11.i586 メモリ 512M プロセッサー Intell(R) Celeron(R) M 1.30GHz 利用可能ディスク容量 21G ご教授お願いします。  

  • cronでとても困っています どなたかご教授いただけないでしょうか

    cronの設定でpersonユーザーで動くように設定したいのですが、動いてくれません なにか設定がおかしいのでしょうか ↓crontabの内容です # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.4208 installed on Thu Jan 25 12:14:20 2007) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 15 12 * * * person /home/test/bin/test.sh rootに送られてくるエラーメッセージです /bin/bash: line 1: person : command not found ご教授いただけたら幸いです 何卒宜しくお願いいたします

  • シェル変数(path)の挙動がわかりません

    シェル変数の挙動がわからなくて困っています。 以下のような3ファイルがあります。 % cat /tmp/test_config.sh #!/opt/local/bin/zsh path=($path /tmp) % cat /tmp/test.sh #!/opt/local/bin/zsh . /tmp/test_config.sh echo $PATH echo $path /tmp/test2.sh % cat /tmp/test2.sh #!/opt/local/bin/zsh echo $PATH echo $path which test.sh これを、所有者のユーザで実行するのとsu -c で実行するので挙動が変わります。 % /tmp/test.sh /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/local/bin:/opt/local/sbin:/tmp /usr/bin /bin /usr/sbin /sbin /usr/local/bin /opt/local/bin /opt/local/sbin /tmp /tmp/test.sh % sudo su - hogehoge -c /tmp/test.sh /bin:/usr/bin:/usr/ucb:/usr/local/bin:/tmp /bin /usr/bin /usr/ucb /usr/local/bin /tmp /bin:/usr/bin:/usr/ucb:/usr/local/bin /bin /usr/bin /usr/ucb /usr/local/bin test.sh not found この挙動の違いは、何から産まれるんでしょう? .zshrc でそういう設定ができるんでしょうか? .zshenv は使ってません。 (なお、環境変数$PATHを使えば目的は果たせると言うのはわかっています)

  • Fedora11で自宅サーバー

    Fedora11で自宅サーバーを作っていますが、、、 現在二つのエラーが発生して難航しています。 解決方法よろしくお願いします。 エラー(1) 管理者権限で、geditを開くと以下のようなエラー文句がいっぱい出てきます。解決方法をよろしくお願いします。 ******************* GConf エラー: 設定サーバ (gconfd) に接続できませんでした: いくつか考えられる原因として、ORBit の TCP/IP ネットワークを有効にしていない、あるいはお使いのシステムで古い NFS のロックがクラッシュを引き起こしたことが考えられます。これに関連する情報については http://projects.gnome.org/gconf/ を参照して下さい: (詳細 - 1: セッションへの接続に失敗しました: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.) *********************** エラー(2) BINDの導入で、bindとbind-chrootインストールしました。 それから、 cd /ect cp named.conf named. rfc1912.zones named.dnssec.keys /var/named/chroot/ect ここまで実行すると、以下のようなエラー文句がでます。 解決方法をよろしくお願いします。 ********** cp: cannot stat 'named.dnssec.keys'k: そのようなファイルディレクトリはありません **********

  • crontabでPHPスクリプトが実行出来ない

    crontabで毎分PHPのスクリプトを起動する記述をしましたが、すべて下記エラーが出て実行されません。 phpスクリプトの先頭で「#!bin/usr/php」を書く方法と、crontabで「* * * * * /usr/bin/php test.php > dev/null」とする方法を試してみましたが両方ともダメでした。 解決索があればご教示下さい。 【エラー内容】 test.php: line 1: ?php: No such file or directory

    • ベストアンサー
    • PHP