• ベストアンサー
  • すぐに回答を!

cronでatコマンドがうまく動かない

こんにちは。RedHat7.0のcronでatコマンドを動かそうとしています。 *********************************************** 00 14 * * * root at -f test.sh 14:30 2001-8-8 *********************************************** こんな感じで書いてあります。 このtest.shも、at -f test.sh 14:30 2001-8-8も、 単体では正常に動いてることを確認しています。 また、cron自体も正常に機能していて、 時間になるとatqでジョブが溜まっているのも確認できます。 var/log/cronでatコマンドが正常にキックされているのも 確認済みです。 でも、test.shの処理が実行できていないんです~。 単体では実行できているのに・・。 ちなみにtest.shの中身は ************************** #!/bin/bash date >aaa.txt ************************** という単純なものです。 crontabに書いた時だけファイルが出来ないのはどういう訳なのか 原因に心当たりのある方、アドバイスいただけないでしょうか。 宜しくお願いいたします。

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

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

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

  • ベストアンサー
  • 回答No.2
  • natural
  • ベストアンサー率37% (419/1115)

補足有り難うございます。(^_^) 一応aaa.txtもパス指定して試してみても良いかもしれませんね。 確実に書き込み出来る様に「その他」にもwrite権限を与えたディレクトリを指定して。 また、こちらは問題ないと思うのですが、test.shの実行権限は大丈夫でしょうか。 755とかにして試してみてください。 見当外れかもしれませんが、また何か思いついたら書き込ませて頂きます。

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

質問者からのお礼

できました!! スクリプトの中も date >/tmp/aaa.txt のように指定したところ、問題なくできました。 は~お騒がせしてすみません。 助かりましたー。また凡ミスですね。反省。 また何かありましたら宜しくお願いします。 ありがとうございました!

関連するQ&A

  • atコマンドで実行予定の内容を知りたい

    atコマンドで実行予定の内容を確認するにはどうしたらよいでしょうか。 atqではジョブ番号しかわかりません。 ジョブ番号の内容がわかればよいのでしょうが、その方法がわかりません。 2010年1月17日

  • crontab -e コマンドで編集してもCronが動作しません。

    testユーザーで手動でコマンド実行すると正常に動作するのですが、 crontab -eで、下記のようにCronを登録しても動作しません。。 00 12 * * * /var/www/html/bin/cron.sh args1 /var/log/cronを見ても Jun 19 12:00:01 web1 crond[3095]: (test) RELOAD (cron/test) というように、RELOAD となりまりコマンドが実行してくれません。。 Jun 19 13:01:01 web1 crond[9116]: (root) CMD (run-parts /etc/cron.hourly) というように、CMDが出ているのですが。。

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

その他の回答 (1)

  • 回答No.1
  • natural
  • ベストアンサー率37% (419/1115)

test.shが確かにカレントディレクトリに存在するのならファイル指定の部分を (略)at -f ./test.sh(略) としてみては如何でしょう。 カレントにパスがないのかなと思ったもので・・・。 因みにカレントにtest.shを置いていないならパス指定は変更の必要ありです。

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

質問者からの補足

naturalさん、回答ありがとうございます。 実はそこの部分省略して書いてしまったのですが、 実際はat -f /tmp/test.shのようになっています。 スクリプト内のaaa.txtにはパスはつけていませんが・・・。

関連する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が急に動かなくなった

    こんにちわ。RedHat7.0なのですが、昨日まで快適に動いていた cronが突然動かなくなりました。 というのは、var/log/cronに何も吐かれなくなりました。 実際にcrontabに何か設定しても実行されません。 crondは起動していることを確認しました。 考えられる原因としては昨日システム日付を何度も変えた 事くらいでしょうか・・・。 今は正しい日付に戻してあるのですが、その作業をした 昨日の夕方からlogには何も吐かれなくなったので怪しいですよね。 解決策などアドバイスをいただけると嬉しいです。 宜しくお願いいたします。

  • cronとCRONの違い

    Ubuntuでpsコマンドを実行してプロセスを見ていると、 「cron」と「CRON」という2種類のプロセスがあることに気づきました。 この2つのプロセスの違いはなんなのでしょうか? 両方ともcrontabのプロセス、ってわけじゃないですよね・・・?

  • [yum-cron start]したら、[Enabling nightly yum update]と表示されるのはウソ?

    CentOS5 VPSです。 -bash-3.2# /etc/rc.d/init.d/yum-cron start Enabling nightly yum update: [ OK ] -bash-3.2# chkconfig yum-cron on -bash-3.2# としても、 -bash-3.2# crontab -l no crontab for root -bash-3.2# なのですが、 「Enabling nightly yum update:」 というのは、ウソというか、yum-cron startしても、 結局、crontab -eしないといけないのでしょうか? で、もし「yum-cron stop」 お教えいただければ幸いです。したら、またcrontab -eしないといけないのでしょうか? ためしてみれば、結果はわかるのですが、 勘違いしているかもとおもい、ねんのため質問させてください。 (nightly とまでいわれるので、どうも不思議でして) よろしくお願いいたします。

  • cronで複数実行される

    いつもお世話になっています。 Solaris2.6ですが、cron実行でバックアップやらログローテートやら行っていたのですが、 先日、以下のことをやってしまい、二重実行されるようになってしまいました。 ・通常、rootでのcron実行 ・間違えて、一般ユーザのcronにrootとまったく同じものを書き込んでしまった。 ・一回検証で実行して気付き、一般ユーザのcronを削除(crontab -r)した。 これで、再度検証したときに問題なく動作していたようだったので(/var/cron/logを確認していないのがまずい・・・)、そのままにしておいたのですが、 その後、常にスクリプトが二回ずつ実行されるようになってしまいました。 何度もcrontabを確認し、しまいにはcronデーモンを再起動したのですが、今度は4つ同時に実行するようになってしまい、 さらに、cronデーモンを起動しなおしたら8つになってしまいました。 きちんと、killしているのですが、どうしてか分からず、どうしようもなくなっています。 再起動以外に何か解決方法はないでしょうか。 よろしくお願いいたします。

  • crontabコマンドはどこに記述されますか?

    RedHatLinux9を使用しています。 毎日2時にテープにバックアップをとろうと バックアップ用のスクリプトを作って #crontab -e 00 2 * * * /root/backup.sh としました。 これはどこに記述してあるのでしょうか? /etc/crontabにはないですし /etc/cron.daily/の中にもないので。 きちんと動いているのですが 確認したいんです。 よろしくお願いします。

  • phpファイルをcronで動かすには?

    /var/www/html/test.phpというファイルを毎日午前6時に動かしたい(たたく?)のですが、cronをどのように設定したらいいのか分かりません。サーバーはcentos5でroot権限をもっています。 http://www.server-memo.net/tips/crontab.html こちらを参考にしているのですが、どこから手をつけていいのかすら分かりません。 /etc/以下には次のようなファイルやフォルダがありました。 cron.d cron.daily cron.deny cron.hourly cron.weekly crontab これをどのようにして利用したらいいのでしょうか?

  • cronやatの設定について

    今現在linuxのシステムに関して勉強している者です。 本の中でcronとatについて紹介されていて、cronは定期的に行う作業を自動的に実行されるように設定することができ、atの場合は1回限りのジョブの予約ができるとありました。しかし、自分自身システム運用などを日常的に行ったことがなく一般的にどのようにつかわれているのかがわかりません。 そこで質問なのですが、エンジニアとして普段システムの運用や開発などを行っている方や学習されている方などunixを使っている方々はどのように使っているのか、具体例をしりたいです。

  • atコマンド

    atコマンドで日時指定をして、echo helloというコマンドを実行させました。一応atqでジョブが予約されているかも調べました。しかし、時間になってもコンソールにはhelloと表示されず、atqでジョブを見ると終了しています。どのようにすれば、コンソールに文字列を出力することができますでしょうか? ご存知の方よろしくお願いします。

  • atコマンドでリダイレクト

    お世話になります。 コマンドプロンプトのatコマンドを使い、時間指定をしてpingを打ち、その結果をファイルに書き込ませたいのです。 バッチファイルを使用してならでき、目的は果たせるのですが、コマンドラインのみでできないのでモヤモヤしてます。 例えば at 23:00 ping www.hoge.co.jp ^> test.txt とすると、23:00になってもtest.txtファイルがどこにも見当たりません。 リダイレクトのエスケープをやめると、ファイルはできるのですが、23:00になる前、コマンドラインを打ち込んですぐにファイルができてしまい、かつ「新しいジョブをジョブ ID = 1 で追加しました。」となり、atコマンド自体の結果がtest.txtに書き込まれてしまいます。 コマンドプロンプトについては、ほぼ初心者です。 atコマンドを使う必然性はないのですが、気になります。 宜しければ教えて下さい。 お願いします!