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

cronで実行できない

crontab -e  で記述をしたけれど動作しないので色々調べて毎分動くようにしてみたり色々試した物の動きません。現在以下のような記述になってます。どう直したらいいですか。OSはDebian sargeでcronでなく手で動作させると正常です。 SHELL=/bin/sh */1 * * * * /usr/bin/biffpop -c /root/.biffpoprc > /dev/null 2>&1

noname#39970
noname#39970

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

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

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

  • ベストアンサー
  • 回答No.1
  • Lean
  • ベストアンサー率72% (435/603)

>*/1 * * * * /usr/bin/biffpop -c /root/.biffpoprc > /dev/null 2>&1 一度、リダイレクトを/dev/nullに向けるのではなくて、ファイルに向けて何か出力されていないか確認してみたら?

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

質問者からのお礼

リダイレクトをファイルにするというのがすっかり抜けてました。 ファイルにして挙動を見てみた所、どうやら動いてるという事が確認できました。 これはメールのチェッカなんですが、設定先のメールサーバのログの表示のされ方が判りにくいもので、動いてるというのが判ってから調べた所そのような状態だという事がわかりました。

その他の回答 (1)

  • 回答No.2

この部分 /usr/bin/biffpop -c /root/.biffpoprc > /dev/null 2>&1 をシェルスクリプトにして、cronから呼び出してみては? cronは環境変数やらリダイレクトやらの処理で妙なクセが ありますから。

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

質問者からのお礼

シェルにして起動、やってみたんですが状況は変化しませんでした。

関連するQ&A

  • 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が送信しているようです。 どうすれば配信させないようにできるのでしょうか?

  • さくらVPSでcron指定はsh? php?

    これまで別のレンタルサーバで動作していたcronをさくらVPSでも動作させたいのですがうまくいきません。 ■これまで(レンタルサーバ) 1.cronにshファイルを指定 2.shファイル cd /var/www/★★ /usr/local/bin/php -d include_path='.:./●●.php ■今回(さくらVPS) /etc/crontab/ 05 7 * * * root /usr/bin/php /var/www/■■.sh ・どうしたら動作するでしょうか? ・/etc/crontab/の指定先は「phpファイル」「shファイル」の何れを指定するのでしょうか?

  • 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 # 何か間違いがあるのでしょうか?

  • 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 ご教授いただけたら幸いです 何卒宜しくお願いいたします

  • cronでPHP実行

    お世話になります。 OSはクライアントの為、恐縮ながら何を使用しているか不明となっております。 PHPバージョンは5.1.6です。 cronを使用して、毎日特定の時間に、メールを配信するPHPスクリプトを実行しようと試みているのですが、エラーメールが返ってきてしまいます。 因みに、URLを直接指定して実行した場合は正常にメールが配信されます。 設定方法は、crontab -e で 0 12 * * * /usr/lib/php -q /home/hoge/public_html/mail.php と記述しております。 返ってくるエラーメールの内容は、以下の通りです。 Content-Type: text/plain; charset=UTF-8 Auto-Submitted: auto-generated X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/home/hoge> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=hoge> X-Cron-Env: <USER=hoge> Message-Id: <xxxxxx@xxxxxxxxxx> Date: Sun, 28 Sep 2008 12:00:01 +0900 (JST) /bin/sh: /home/hoge/public_html/mail.php: Permission denied 以上、対策方法についてご存知の方がおられましたら、ご教授よろしくお願い致します。

  • cronがうまく動作していないっぽいです。

    Fedora8の環境でcronの設定をしましたが思い通りに動いていないみたいなので教えてください。 まず、cronの設定は crontab -l SHELL=/usr/bin/perl */5 * * * * root /var/www/cgi-bin/test.cgi です。 このtest.cgiは、コマンドラインで./test.cgiとすると同じディレクトリ内のファイルに動作した時間とその旨のログを追記します。 perlで書いてあり、現在の属性は755 ftpuser:ftpuserとなっています。 とりあえず5分間隔で動作するように設定したつもりです。 しかし、いくら待てどもそのログファイルに追記されません。 ちなみに、/var/log/cron には CROND[3511]: (root) CMD (root /var/www/cgi-bin/test.cgi) なカンジで5分ごとにログが出ています。また、5分毎にメールが来ていて(Cronデーモンから?) /var/www/cgi-bin/test.cgi syntax OK と記載されています。 test.cgiからログを吐かせるには何が必要かご教授願います。

  • crontabでのシェル自動実行がNG

    いつも参考にさせてもらっています。 linux(Red Hat Enterprise Linux ES release 3 Apache/2.0.46)上でcrontabを設定したいのですが、 現在うまくいっておりません。 まず、autoindex.shというシェルを/home/foo/scripts/ディレクトレィに作成しました。中身は3行からなっていて #!/bin/sh cd /var/www/html/search/index mknmz -a /var/www/html/test です。telnet上でroot権限を使用し、./autoindex.shコマンド発行で正常に動作しました。 そこで、crontabに以下のように # crontab -l 50 11 * * * root /home/foo/scripts/autoindex.sh と設定したところ、 # more /etc/log/cron Sep 27 11:50:01 intra crond[18280]: (root) CMD (root /home/foo/scripts/autoindex.sh ) とcronは決めていた時間(11時50分)に稼動しているようなんですが、mailを見ると # mail -t From root@XXX.com Wed Sep 27 11:50:01 2006 Date: Wed, 27 Sep 2006 11:50:01 +0900 From: root@XXX.com (Cron Daemon) To: root@XXX.com Subject: Cron <root@hoge> root /home/foo/scripts/autoindex.sh X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/root> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=root> X-Cron-Env: <USER=root> /bin/sh: line 1: root: command not found と、シェルがこけているようです。 何か解決のヒントがありましたら、ぜひ教えていただけないでしょうか。

  • cronでpg_dumpの実行

    こんにちわ。 Linuxでcronを設定しPHPからexecで「pg_dump」を実行しようとしています。 エラーになり実行ができません。 設定は /var/spool/cron ディレクトリに 『crontab -e -u postgres』でコマンドを実行し SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO='' HOME=/ 08 19 * * * postgres /usr/bin/php /home/var/b_dump.php とcrontabに記載しています。 コマンドの実行はrootユーザで 権限は777 にしています。 メールを届くようにしているのですが、届くメールは 『postgres does not know where to find the server configuration file. You must specify the --config-file or -D invocation option or set the PGDATA environment variable.』 と届きます。 googleで検索したのですが、解決方法がわかりません…。 読みにくい文章で申し訳ないのですが、解決方法のご教授を お願いします。

  • cronが動かない

    cron初心者なのでお願いいたします。 fedora5で以下のようなCronを動かそうとしています。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin HOME=/htdocs/program 45 18 * * * perl U9901.pl rootで作成し、/var/spool/cronのrootの実行権限は755になっています。 しかし実行されません。 編集後、crondは再起動しています。 どのような原因が考えられますでしょうか? 過去ログも見たのですが、それらしいものが無かったので質問させてください。 お願いします。

  • crontabをshellで実行するには?

    Linux(Centos 6.2)でユーザを追加する際に、 そのユーザ権限で定期的に実行するプログラム(getmail)を設定したいと思っています。 で、shellでユーザを追加しようと思って #!/bin/sh # $1 = user $2 = pass $USRDIR = ユーザのホームディレクトリ useradd -d $USRDIR $1 echo "$1:$2\n" | chpasswd chown -R $1 $USRDIR chmod -R 770 $USRDIR echo "*/1 * * * * $1 /usr/bin/getmail 2>/dev/null\n" >> /etc/crontab としようと思ったのですが、 色々なサイトで、「crontabの設定ファイルを直接書くのは良くない、crontabコマンドを使え」と言われており、 crontabで設定したいのですが、crontab -u $1 -e とすると、viが起動してしまい、 どうしたら良いかわかりません。。。 どうしたら良いのでしょうか? お願いします。