• ベストアンサー

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

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

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

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

noname#39970
質問者

お礼

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

その他の回答 (1)

  • ballville
  • ベストアンサー率47% (233/487)
回答No.2

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

noname#39970
質問者

お礼

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

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

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

  • さくら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ファイル」の何れを指定するのでしょうか?

  • 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 以上、対策方法についてご存知の方がおられましたら、ご教授よろしくお願い致します。

  • 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がうまく動作していないっぽいです。

    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からログを吐かせるには何が必要かご教授願います。

  • cronによるgriveの実行について

    Ubuntu13.10 64bitを使用しています。 cronを用いて定期的にgriveコマンドを実行し、GoogleDriveのフォルダを同期させようと考えています。 crontabには以下のように記述しました。 */15 * * * * /foo/bar/bin/grive.sh また、/foo/bar/bin/grive.shは以下のようになっています。 #!/bin/sh cd /foo/bar/googledrive/ grive しかし、同期を行ってくれていないようです。 /var/log/syslogを確認しましたが、以下のようなログが残っているので、一応実行されているとは思うのですが… Jan 21 10:15:01 bar CRON[28561]: (bar) CMD (/foo/bar/bin/grive.sh) Jan 21 10:15:01 bar CRON[28560]: (CRON) info (No MTA installed, discarding output) 直に端末から「/foo/bar/bin/grive.sh」と打った時には正常に実行されることを確認済みです。 なお、/foo/bar/bin/にはパスを通してあります。 また、/foo/bar/bin/grive.shの中身を以下のように置き換えた場合は実行されて、ディレクトリも生成されました。 #!/bin/sh mkdir ~/testdir どうすれば、cronでgriveを実行できるようになるのでしょうか。 回答よろしくお願いいたします。

  • 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
  • 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で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で検索したのですが、解決方法がわかりません…。 読みにくい文章で申し訳ないのですが、解決方法のご教授を お願いします。