• ベストアンサー

cronジョブ

cronの実行時間は、/var/spool/corn/ユーザ のファイルで 時間が記述されているので、実行される時間はわかるのですが、 cronで、ある1つのシェルスクリプトが起動した時間から終了までかかった時間を知りたいのです。 (timeコマンド、メール送信による判断は無しでお願いします。) linuxのどこかのログファイルに、cronのシェル1つ1つのジョブの終了時間が記述されている ファイルはないでしょうか?(可能であれば、実行時間もわかるとよいのですが。) ご教授お願いします。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

cronは起動させてるだけで監視しているわけじゃないと思うので厳しいんじゃないですか? 終了後にdateを発行するのが一番だと思いますけどね・・・ 場合によってはloggerで処理してもよいですが

参考URL:
http://okwave.jp/qa/q4455654.html
kureakai
質問者

お礼

やはり、厳しいのですね。 ありがとうございました。 loggerで処理できるのですね。 参考になりました。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4845/10255)
回答No.2

>cronのシェル1つ1つのジョブの終了時間が記述されているファイルはないでしょうか? ありません。 自分で記録するしか無いです。 スクリプトの最後にloggerコマンドでも入れればどうですか? logger ABCDE とか書いておくと、/var/log/messages に書かれます。

kureakai
質問者

お礼

やはり、loggerという選択肢になるのですね。 ありがとうございました。 参考になりました。

関連するQ&A

  • cronでシェルスクリプトが実行されない

    Linuxでファイルのバックアップを取るため backup.shというシェルスクリプトを組み、コマンドから実行する場合問題ないことを 確認しています。ところがcronに設定し自動実行すると内容が実行されておりません。 /var/log/cronを確認したところ時間通り実行されているというログは残っています。 /var/spool/cron/にrootというファイルを作成し 00 23 * * * /BACKUP/backup.shを実行させたいのです。 なぜ、手動の場合は問題がないのにcronで設定すると問題が生じるのでしょう? もし、お分かりの方は教えてください。 OSはRed Hat Linux release 8.0 (Psyche)です。

  • cronについて教えてください

    こんばんは。 Redhat Linuxを使用しております。 今回Cronで不要ファイルの削除を設定したいのですが、 その方法でわからない点があります。 「/etc/cron.monthly、cron.weekly、cron.daily、cron.hourly」 などの配下にシェルを置き、「/etc/crontab」ファイルの記載から これらシェルを呼び出すと思っています。 で「/var/spool/cron/user」ファイルなるものがありますが、 これの使用用途が分からず・・。 「/var/spool/cron/user」は必須の設定項目でしょうか?。 すみませんがアドバイスお願いします。

  • cronジョブ

    cronで設定したジョブは、 設定した時間に自動で動き出すと思っています。 このときインターネットに対して、あるhtmlページを取得するcronを毎朝11時に設定してたとします。 11時から12時の間にジョブがいつも終了してたとします。 質問: ★11時40分に、11時に動き出したcronジョブをバックグラウンドではなく、 フォアグラウンド(コンソール上に、シェルスクリプトをたたいてメッセージが流れる状態とおなじようにスクリプト結果をコンソールで確認)で表示するためには、 どうしたらいいのでしょうか? ★またフォアグラウンドで表示したジョブを、バックグラウンドに戻すにはどうしたらいいのでしょうか ご教授お願いします。

  • cronの挙動について

    cronの挙動について教えてください。 現在user「AAA」のcronにシェルスクリプトを登録しています。 コンソールから登録してあるスクリプトが正常に起動できることは確認できております。 しかしcron経由でコマンドが実行できない状態(/var/log/cronにコマンドを実行した履歴は残っています)でした。 色々試したところ、スクリプトの先頭で.bashrc(user「AAA」のもの)をsourceコマンドで実行するようにしたところ、cronからも起動できるようになりました。 (.bashrcには、スクリプト実行に必要な環境変数やパスの設定がされています) そこで質問なのですが、 (1) cronでコマンドを実行する場合、.bashrcは明示的に実行しなければいけないのでしょうか。 cronで実行される場合、ログインした状態と同じ環境で実行されるとばかり思っていたため、見落としていたのですが・・・。 以上、よろしくお願いいたします。

  • PHPからcronを編集したい

    ブラウザから時間を指定してリクエストを投げると下記PHPを実行するプログラムがあります。 shell_exec("echo {$pass} | sudo -S sh -c 'cat {$root_dir}/craw/crontab.txt > /var/spool/cron/crontabs/{$cron_user}'"); shell_exec("echo {$pass} | sudo -S chown {$cron_user}:crontab /var/spool/cron/crontabs/{$cron_user}"); shell_exec("echo {$pass} | sudo -S chmod 600 /var/spool/cron/crontabs/{$cron_user}"); 実行はちゃんと行われて、/var/spool/cron/crontabs/userの中身もちゃんと期待したとおりに変更されています。 しかし、いくら待っても登録したjobが実行されることはありません。(/var/log/syslogを見ても実行された形跡はありません) shell_exec("echo {$cron_pass} | sudo service cron restart"); を付け加えてみても結果は同じでした。 crontab -eで編集→保存とするとちゃんと反映されるようです。 どのようにすればPHPからcronを登録できるでしょうか。 よろしくお願い致します。

  • CORESERVERでCRONジョブが実行されない

    この手の情報はネット上に沢山あるので自分なりに調べたのですが解決に至りませんでしたので質問させてください。 やりたいことは、CORESERVERのCRONジョブで設定した時間にcron.shを動かしてtest.phpを実行したいです。 ■現状 ・CRONジョブは毎日午前11時に動作するように設定 0 11 * * * ・CORESERVERからCRONジョブのエラーや成功メールが1通も届かない ・Tera Term で直接CRONを実行したが500エラーが返ってくる ・シェルスクリプトで動かしたいPHPファイルに問題はなかった(直接実行して成功) ■やったこと cron.shをCORESERVERのトップディレクトリに設置 /virtual/ユーザー名/cron.sh cron.shに記述した内容は #!/bin/sh #PHP /usr/local/bin/php /virtual/ユーザー名/public_html/サイトディレクトリ/php/test.php exit です。cron.shのパーミッションは705にしました。改行コードはLFです。 test.phpまでのディレクトリのパーミッションも705になっています。test.phpのパーミッションは644です。 Tera Term に入力したコマンド? sh /virtual/ユーザー名/cron.sh 上記を決定すると以下のスターテスが返ってきました。 Status: 500 Internal Server Error Content-type: text/html 何か根本的な間違いをしているのでしょうか? アドバイスをお願いいたします。

  • cronでの文字化け

    RedHatLinux Enterprise Linux 4ESを使用しています。 rootではなユーザでcrontabを使用しており、 シェルファイルを呼び出し定期的に実行しています。 シェルファイルでは環境変数の設定を行い、 Javaのクラスファイルを実行しています。 Javaのクラスファイルで、稼動ログを出力(日本語)しています。 この時の稼動ログの出力ですが、 「Javaファイルの実行」「シェルファイルからの実行」ですと、 文字化けせずに出力されるのですが、 cronからの実行ですと、文字化けしてしまいます。 cronからの実行時に文字化けをしないようにする方法はあるのでしょうか? なお、JavaはShift-JISで作成しています。

  • cronに変わるジョブ管理ツール

    cronより高機能で、代替品になるジョブ管理ツールは無いでしょうか。 欲しい機能としては - ジョブの実行を、cronのような時間指定だけでなく、登録された別のジョブが成功/失敗したら実行、という条件で行える - 設定がCUIから行える(設定ファイルを手で編集するか、CUIの設定ツールで行う) - オープンソースで、なおかつフリーで導入できる というあたりです。 イメージとしては、JP1ほど高機能でなくてもいいしサポートも要らないけど、cronよりは機能が欲しい、という感じです。

  • 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は再起動しています。 どのような原因が考えられますでしょうか? 過去ログも見たのですが、それらしいものが無かったので質問させてください。 お願いします。

  • 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に書いた時だけファイルが出来ないのはどういう訳なのか 原因に心当たりのある方、アドバイスいただけないでしょうか。 宜しくお願いいたします。